2

我使用 netTcpBindind 在服务器中创建了 WCF 服务。当我在办公室运行 WCF 客户端时,我能够访问该服务。但我收到错误消息“服务器已拒绝客户端凭据”。当我在家中运行相同的 WCF 客户端时,使用 VPN 连接到我的办公室网络。(具有相同域的办公室笔记本电脑)。注意:我在家和办公室使用同一台笔记本电脑。(域名\迪克森)

这是在服务器中运行的 WCF 服务配置设置。

<services>

  <service behaviorConfiguration="DTATDataEngine.DTATServiceBehaviour" name="DTATDataEngine.DTATService">     

    <endpoint address="" binding="netTcpBinding" bindingConfiguration=""
      contract="DTATDataEngine.IDTATService">
      <identity>
        <dns value="localhost" />
      </identity>
    </endpoint>        
    <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
      contract="IMetadataExchange" />
    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://XXX.XXX.XXX.XXX:8523/DTATService" />
      </baseAddresses>
    </host>
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="DTATDataEngine.DTATServiceBehaviour">
      <serviceMetadata httpGetEnabled="false" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>

有人可以帮我解决这个问题!

非常感谢,迪克森

4

1 回答 1

0

您的部分在哪里<bindings>,更重要的是,<security>您的部分在netTcpBinding哪里?我猜 net.tcp 的默认安全性是 Transport,它使用 Windows 客户端凭据。

您的工作 PC 登录到域并因此通过身份验证,而您的家庭 PC 仅位于工作组中,无法对域中运行的服务进行身份验证。

于 2012-08-08T12:16:27.183 回答