Erstellen einer benutzerdefinierten in WCF aus einer bestehenden NetTcpBinding Bindung
-
05-07-2019 - |
Frage
Kann mir jemand sagen, wie eine benutzerdefinierte schaffen Bindung, die genau das gleiche Verhalten der folgenden Optionen in WCF reproduziert?
<netTcpBinding>
<binding name="SecureTcp" >
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Certificate" />
<message clientCredentialType="UserName" />
</security>
</binding>
</netTcpBinding>
Alle der googled Lösungen, die ich gefunden habe, scheinen nicht für einen oder anderen Grund zu arbeiten. Ich habe eine Menge von Lösungen in Bezug auf Httptransport gefunden, aber nur sehr wenige in Bezug auf nettcptransport.
Die obige Konfiguration arbeitet derzeit, aber ich brauche die MaxClockSkew, und die einzige Möglichkeit, zu modifizieren, um dies zu erreichen ist mit einem benutzerdefinierten Bindung.
Vielen Dank im Voraus, Brian
Lösung
Nun, hier ist das, was ich in der Lage war, mit zu kommen. Der Schlüssel war die authenticationMode im secureConversationBoostrap Abschnitt:
<binding name="CustomSecureTcp">
<transactionFlow />
<security authenticationMode="SecureConversation"requireSecurityContextCancellation="true">
<secureConversationBootstrap
authenticationMode="UserNameOverTransport">
</secureConversationBootstrap>
</security>
<binaryMessageEncoding/>
<sslStreamSecurity requireClientCertificate="false" />
<tcpTransport/>
</binding>
</customBinding>
EDIT: Ich bin mir ziemlich sicher, dass die 'transactionProtocol = "OleTransactions"' war unnötig