0

私は WCF プログラミング モデルが初めてで、使用したいと考えていますnetTcpBinding。以下で質問する前に、これが私のカスタム バインディングです。

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

シンプルなコンソール アプリケーションを使用してサービス参照を作成すると、証明書が見つかり、それを使用するように求められます。そして、このようにして私はウェブサービスを使うことができます...

しかし、サービス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").

この時点で、私は a を使用し、CustomNameValidatorプログラムで実行します。

で使用するnetTcpBindingと、インストールされた証明書が見つからないTransportWithMessageCredentialのはなぜですか? SetCertificate何か不足していますか?または、何かを追加する必要がありますか?

4

1 に答える 1

0

わかりました...申し訳ありませんが、メッセージの一部が間違っています...私のカスタムバインディングはcustomBindingです

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

変換しようとしたnetTcpBingは次のとおりです。

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

    </binding>
  </netTcpBinding>
于 2010-06-14T21:00:52.027 に答える