Проблема конфигурации веб-службы - PullRequest
8 голосов
/ 27 апреля 2011

Я размещаю 2 веб-службы WCF и 1 стандартную веб-службу .NET из каталога приложений.Служба .NET и одна из служб WCF работают отлично;однако другая служба WCF возвращает следующую ошибку:

Служба не может быть активирована, поскольку она не поддерживает совместимость с ASP.NET.Совместимость ASP.NET включена для этого приложения.Отключите режим совместимости ASP.NET в web.config или добавьте атрибут AspNetCompatibilityRequirements к типу службы с параметром RequirementsMode как «Разрешено» или «Обязательно».

Обе веб-службы WCF имеют строку

<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> _

и в файле web.config есть

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

Чтобы добавить больше путаницы в микс, когда я изменяю

AspNetCompatibilityRequirementsMode.Allowed

на

AspNetCompatibilityRequirementsMode.Required

служба работает просто отлично.

Кроме того, изменение

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

на

<serviceHostingEnvironment aspNetCompatibilityEnabled="false" />

в web.config также позволяет всем веб-службам функционировать.

Эта проблема возникает как в IIS7, так и в нашей промежуточной среде, размещенной на SBS2003 под управлением IIS6.

Заранее благодарю за всю вашу помощь.
Джейк

ОБНОВЛЕНИЕ:
Мне удалось заставить его работать, удалив приложение в моей системе разработки;однако проблема все еще сохраняется на нашем промежуточном сервере, даже после удаления приложения и его воссоздания там.

РАБОТА В РАМКАХ:

  1. Удаление приложения из IIS
  2. Воссоздать direcotry
  3. Создать новый пул приложений
  4. В свойствах direcotry создайте приложение и свяжите его с новым пулом приложений.

Какая боль.

Ответы [ 2 ]

3 голосов
/ 21 мая 2011

Вы не можете разместить 2 разные версии фреймворка сервиса в одном пуле приложений. Я имею в виду, что если вы разместили 2 WebService (один использует Framework 2.0, а другой использует framework 4.0) в рамках одного пула приложений, любая одна служба будет работать. Второй никогда не сработает

РЕШЕНИЕ:

Теперь должно работать.

0 голосов
/ 02 ноября 2012

РАБОТА В РАМКАХ:

  • Удаление приложения из IIS
  • Повторное создание директории
  • Создание нового пула приложений
  • В свойствахdirecotry, создайте приложение и свяжите его с новым пулом приложений.
...