Erstellen einer benutzerdefinierten in WCF aus einer bestehenden NetTcpBinding Bindung

StackOverflow https://stackoverflow.com/questions/1402532

  •  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

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top