Я написал свой первый веб-сервис WCF, который прекрасно работает на моем собственном локальном тестовом веб-сервере, однако я получаю сообщение об ошибке при развертывании его в IIS.
Наш сервер IIS использует встроенную аутентификацию и не разрешает анонимный доступ. Начиная с того, что я прочитал , мне нужно установить режим безопасности для привязки на TransportCredentialOnly
. Весь раздел в web.config
:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="VZW.TrainingPortfolioManager.Website.TPMAspNetAjaxBehavior">
<enableWebScript />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>
<service name="VZW.TrainingPortfolioManager.Website.TPM">
<endpoint address="" behaviorConfiguration="VZW.TrainingPortfolioManager.Website.TPMAspNetAjaxBehavior"
binding="webHttpBinding" contract="VZW.TrainingPortfolioManager.Website.TPM" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding>
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
Однако, когда я загружаю веб-сервис в браузере, я получаю сообщение об ошибке:
Security settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service.
Что-нибудь еще нужно изменить или настроить, чтобы это работало?