Я новичок в модели программирования 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").
На данный момент я использую CustomNameValidator
и делаю это программно.
Итак, когда я использую netTcpBinding
с TransportWithMessageCredential
, почему вызов SetCertificate
не находит установленный сертификат? Я что-то пропустил ? Или я должен что-то добавить?