所以this question与我的问题有完全相同的症状。
此服务的安全设置需要“匿名”身份验证,但不会为承载此服务的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>
我正在运行IIS7上兼容IIS6的应用程序(因为我们的prod服务器运行IIS6 - 我在部署到测试服务器时得到了相同的异常)。
我需要修改哪些设置才能使这些内容有效?
答案 0 :(得分:0)
我可以按照此msdn post上的步骤进行修复,稍加修改:
通过从下拉列表中选择此选项,将BindingConfiguration属性设置为 WsHttpEndpointBinding 。 这会将绑定配置设置与绑定相关联。
在配置编辑器的“文件”菜单上,单击“保存”。
并且(据我所知)这提供了使用集成身份验证的身份验证(但不是Windows集成)。