2010-07-13 5 views
1

J'utilise l'excellent DuplexHttpBinding. Je veux maintenant l'étendre afin que je puisse utiliser la sécurité de transport avec des informations d'identification de message. J'ai quelques BasicHttpBinding normaux s mis en place dans ce mode comme ceci:WCF Comment puis-je définir clientCredentialType sur la liaison personnalisée

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

Cependant, je ne peux pas faire la même chose avec mon DuplexHttpBinding parce qu'il n'a pas l'élément de sécurité.

Ma question est: comment puis-je configurer mon DuplexHttpBinding avec TransportWithMessageCredential? Ou. plus généralement, comment paramétrez-vous la sécurité des messages sur une liaison que vous avez créée en héritant de System.ServiceModel.Channels.Binding?

J'ai eu du mal à trouver des informations à ce sujet, donc tous les liens vers des documents pertinents seraient les bienvenus!

Répondre

1

La solution était d'ajouter un SecurityBindingElement comme premier élément dans la BindingElementCollection, donc dans la méthode CreateBindingElements de votre reliure:

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

Great- acceptants votre propre réponse alors! – nitzmahone

Questions connexes