Когда я развернул свои службы данных WCF на производственном хостинге, я начал получать следующую ошибку (или аналогичную в зависимости от того, какие схемы аутентификации активны):
В службах IIS указаны схемы проверки подлинности «Базовая, анонимная», но привязка поддерживает указание только одной схемы проверки подлинности. Допустимые схемы проверки подлинности: дайджест, согласование, NTLM, базовая или анонимная. Измените настройки IIS так, чтобы использовалась только одна схема аутентификации.
Очевидно, службы данных WCF (WCF в целом?) Не могут справиться с наличием более одной активной схемы проверки подлинности.
Хорошо, я знаю, что могу отключить схему аутентификации «все, кроме одного» в веб-приложении через панель управления IIS .... через запрос в службу поддержки !!
Есть ли способ указать единую схему аутентификации на уровне службы в файле web.config?
Я подумал, что это может быть так же просто, как изменение <system.serviceModel>
, но ... оказалось, что службы данных WCF не настраиваются в веб-конфигурации. Если вы посмотрите на класс DataService<>
, он не реализует [ServiceContract]
, поэтому вы не можете ссылаться на него в _4 _..., который, как я полагаю, может потребоваться для изменения его конфигурации через XML.
P.S. Наш хост использует II6, но оба решения для IIS6 и IIS7 оценены.