如何创建此自定义绑定的nettcpbinding

时间:2010-06-14 20:56:13

标签: wcf nettcpbinding

我是WCF编程模型的新手,我想使用netTcpBinding。在我问下面的问题之前,这是我的自定义绑定:

<customBinding>
    <binding name="basic">
      <security authenticationMode="UserNameForCertificate"/>
      <binaryMessageEncoding/>
      <httpsTransport/>
    </binding>
</customBinding>

当我使用简单的控制台应用程序创建服务引用时,它会找到证书并要求我使用它。这样我就可以使用webservice了......

但是当我使用netTcpBinding更改绑定到TransportWithMessageCredential时,服务正在寻找证书,但无法找到它:

<netTcpBinding>
    <binding name ="sdfsd">
      <security mode="TransportWithMessageCredential">
        <message clientCredentialType="UserName"/>
        <transport clientCredentialType="None"/>
      </security>
    </binding>
</netTcpBinding>

ServiceCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByIssuerName, "Contoso.com").

此时我使用CustomNameValidator并以编程方式执行此操作。

因此,当netTcpBindingTransportWithMessageCredential一起使用时,为什么对SetCertificate的调用找不到已安装的证书?我错过了什么吗?或者我必须添加一些东西吗?

1 个答案:

答案 0 :(得分:0)

好的伙计们...对不起,但有些消息丢失了...... 我的自定义绑定是 customBinding

<customBinding>
    <binding name="basic">
      <security authenticationMode="UserNameForCertificate"/>
      <binaryMessageEncoding/>
      <httpsTransport/>
    </binding>
  </customBinding>
我尝试转换的

和netTcpBinding是:

   <netTcpBinding>
    <binding name ="sdfsd">
      <security mode="TransportWithMessageCredential">
        <message clientCredentialType="UserName"/>
        <transport clientCredentialType="None"/>
      </security>

    </binding>
  </netTcpBinding>