Создание пользовательской привязки в WCF из существующей привязки nettcpbinding
-
05-07-2019 - |
Вопрос
Может кто-нибудь сказать мне, как создать пользовательскую привязку, которая воспроизводит точно такое же поведение из следующих в WCF?
<netTcpBinding>
<binding name="SecureTcp" >
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Certificate" />
<message clientCredentialType="UserName" />
</security>
</binding>
</netTcpBinding>
Похоже, что все найденные мною решения не работают по той или иной причине. Я нашел много решений относительно httpTransport, но очень мало относительно nettcptransport.
Вышеупомянутая конфигурация в настоящее время работает, но мне нужно изменить maxClockSkew, и единственный способ сделать это - с помощью пользовательской привязки.
Заранее спасибо, Brian
Решение
Ну, вот что я смог придумать. Их ключом был аутентификационный режим в разделе secureConversationBoostrap:
<binding name="CustomSecureTcp">
<transactionFlow />
<security authenticationMode="SecureConversation"requireSecurityContextCancellation="true">
<secureConversationBootstrap
authenticationMode="UserNameOverTransport">
</secureConversationBootstrap>
</security>
<binaryMessageEncoding/>
<sslStreamSecurity requireClientCertificate="false" />
<tcpTransport/>
</binding>
</customBinding>
РЕДАКТИРОВАТЬ: Я почти уверен, что'actionProtocol = " OleTransactions " ' было ненужным
Не связан с StackOverflow