我已经创建了一个Web服务,我正在使用basicHttpBinding,但问题是当我将clientCredentialType设置为None时,我能够访问该服务,但如果我设置为Basic / Windows,则会收到类似“运行时错误”的错误。在IIS中使用基本身份验证。我需要basicHttpbinding的安全性。如何解决这个问题。
Web.Config中的代码:
<services>
<service name="HealthCareService" behaviorConfiguration="Behavior_Service1">
<endpoint address="" contract="IHealthCareService" binding="basicHttpBinding" bindingConfiguration="basicHttpBinding1" />
<endpoint address="mex" contract="IMetadataExchange" binding="mexHttpBinding"/>
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBinding1">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="Behavior_Service1">
<serviceThrottling maxConcurrentSessions="10000"/>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
错误屏幕截图:
答案 0 :(得分:0)
在WCF服务器 as described in this MSDN article上启用跟踪。跟踪应该为您提供足够的信息来解决问题。
如果它适用于clientCredentialType = None,可能是您的客户端配置不正确 - 客户端和服务器的配置需要兼容。