Итак этот вопрос имеет точно такие же симптомы моей проблемы.
Настройки безопасности для этой службы требуют «анонимной» аутентификации, но она не включена для приложения IIS, на котором размещена эта служба.
Однако я удалил конечную точку mex
из своей веб-конфигурации, и у меня все еще появляется та же ошибка. Мой веб-конфиг выглядит так:
<system.serviceModel>
<services>
<service name="xxx.MessageHub.MessageHubService"
behaviorConfiguration="default">
<endpoint binding="wsHttpBinding"
contract="xxx.MessageHub.IMessageHubService" />
</service>
</services>
<behaviors>
<endpointBehaviors>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="default">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceAuthorization principalPermissionMode="UseWindowsGroups" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="credsOnly">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"></transport>
</security>
</binding>
</basicHttpBinding>
<wsHttpBinding>
<binding name="transport">
<security mode="Transport">
<transport clientCredentialType="Windows"></transport>
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
Я запускаю приложение с добавлением совместимости IIS6 к IIS7 (поскольку наши серверы prod работают под управлением IIS6 - я получаю то же исключение при развертывании на тестовом сервере).
Какие настройки мне нужно исправить, чтобы эта штука работала?