WCF服务 - 在basicHttpBinding配置中获取运行时错误将clientCredentialType传输到Basic

时间:2014-10-17 11:35:46

标签: c# asp.net .net wcf

我已经创建了一个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>

错误屏幕截图: enter image description here

1 个答案:

答案 0 :(得分:0)

在WCF服务器 as described in this MSDN article上启用跟踪。跟踪应该为您提供足够的信息来解决问题。

如果它适用于clientCredentialType = None,可能是您的客户端配置不正确 - 客户端和服务器的配置需要兼容。