2010-07-13 3 views
1

Я использую отличный DuplexHttpBinding. Теперь я хочу расширить его, чтобы я мог использовать безопасность транспорта с учетными данными. У меня есть некоторые нормальные BasicHttpBinding, настроил в этом режиме, как так:WCF Как я могу установить clientCredentialType на пользовательскую привязку

<basicHttpBinding> 
    <binding name="BasicHttpBinding_Custom"> 
     <security mode="TransportWithMessageCredential"> 
     <message clientCredentialType="UserName"/> 
     </security> 
    </binding> 
</basicHttpBinding> 

Однако я не могу сделать то же самое с моей DuplexHttpBinding, потому что он не имеет защитного элемента.

Мой вопрос: как я могу настроить свой DuplexHttpBinding с помощью TransportWithMessageCredential? Или. в более общем плане, как вы настраиваете безопасность сообщений по связыванию, которое вы создали, наследуя от System.ServiceModel.Channels.Binding?

Я изо всех сил пытался найти информацию об этом, поэтому любые ссылки на соответствующие документы были бы очень желанными!

ответ

1

Решение было добавить SecurityBindingElement в качестве первого элемента в BindingElementCollection, так и в CreateBindingElements методе вашего связывания:

SecurityBindingElement security = SecurityBindingElement.CreateUserNameOverTransportBindingElement(); 
collection.Add(security); 
+0

великорусский так принять ваш собственный ответ тогда! – nitzmahone

Смежные вопросы