Создание пользовательской привязки в WCF из существующей привязки nettcpbinding - PullRequest
2 голосов
/ 10 сентября 2009

Может кто-нибудь сказать мне, как создать пользовательскую привязку, которая воспроизводит точно такое же поведение из следующих в WCF?

<netTcpBinding>
        <binding name="SecureTcp" >
          <security mode="TransportWithMessageCredential">
            <transport clientCredentialType="Certificate" />
            <message clientCredentialType="UserName" />
          </security>
        </binding>
      </netTcpBinding>

Все найденные мною решения, похоже, не работают по той или иной причине. Я нашел много решений в отношении httpTransport, но очень мало в отношении nettcptransport.

Вышеупомянутая конфигурация в настоящее время работает, но мне нужно изменить maxClockSkew, и единственный способ сделать это - с помощью пользовательского связывания.

Спасибо заранее, Brian

1 Ответ

2 голосов
/ 11 сентября 2009

Ну, вот что я смог придумать. Их ключом был аутентификационный режим в разделе secureConversationBoostrap:

<binding name="CustomSecureTcp">
    <transactionFlow  />
    <security authenticationMode="SecureConversation"requireSecurityContextCancellation="true">
      <secureConversationBootstrap
        authenticationMode="UserNameOverTransport">
      </secureConversationBootstrap>
    </security>
    <binaryMessageEncoding/>
    <sslStreamSecurity requireClientCertificate="false" />
    <tcpTransport/>
  </binding>
 </customBinding>

РЕДАКТИРОВАТЬ: Я вполне уверен, что'actionProtocol = "OleTransactions" 'был ненужным

...