Я размещаю 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.
Заранее благодарю за всю вашу помощь.
Джейк
ОБНОВЛЕНИЕ:
Мне удалось заставить его работать, удалив приложение в моей системе разработки;однако проблема все еще сохраняется на нашем промежуточном сервере, даже после удаления приложения и его воссоздания там.
РАБОТА В РАМКАХ:
- Удаление приложения из IIS
- Воссоздать direcotry
- Создать новый пул приложений
- В свойствах direcotry создайте приложение и свяжите его с новым пулом приложений.
Какая боль.