Existe-t-il un moyen de définir la sécurité de transport normalement spécifiée dans la configuration d'un basicHttpBinding à l'exécution, éventuellement en implémentant IEndpointBehavior?Définir la sécurité du transport sur la liaison WCF à l'aide de IEndpointBehavior?
prendre essentiellement ceci:
<binding name="DfsAgentService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="1000000" maxBufferPoolSize="10000000" maxReceivedMessageSize="1000000" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<security mode="None"/><!--Transport-->
</binding>
Et utiliser (ou autre chose) à la place:
namespace Endpoints {
class DfsEndpoint : IEndpointBehavior{
#region IEndpointBehavior Members
void IEndpointBehavior.AddBindingParameters(ServiceEndpoint endpoint, System.ServiceModel.Channels.BindingParameterCollection bindingParameters) {
throw new NotImplementedException();
}
void IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime) {
throw new NotImplementedException();
}
void IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher) {
throw new NotImplementedException();
}
void IEndpointBehavior.Validate(ServiceEndpoint endpoint) {
throw new NotImplementedException();
}
#endregion
}
}
Est-il possible de changer le mode de sécurité?
Oui, mon problème est que je ne pense pas avoir le contrôle sur la création de la liaison. J'utilise une bibliothèque tierce qui prend un argument de IList mais qui ne me permet pas de spécifier des informations de liaison. –
J'ai fini par faire quelque chose de similaire à votre suggestion et j'ai intercepté la création de la liaison. Cela signifiait que je ne pouvais pas vraiment utiliser la configuration de 3ème partie de la façon dont il était prévu, mais ça va. –