Je dispose d'un service WCF hébergé sur IIS et j'ai besoin d'ajouter un comportement d'endpoint. Je ne peux pas simplement l'ajouter à web.config. (Nous devons prendre en charge une architecture de plugin et les rédacteurs de plugins n'auront pas accès à mon web.config.) J'ai essayé de mettre ceci dans le constructeur statique du service :
var endpointDispatcher = OperationContext.Current.EndpointDispatcher;
SilverlightFaultMessageInspector inspector = new SilverlightFaultMessageInspector();
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(inspector);
mais cela lance une exception disant "Cette valeur ne peut pas être modifiée après l'ouverture de ServiceHost." Si j'appelle host.Close() avant d'ajouter l'objet inspecteur, il lance toujours la même exception.
J'ai également essayé ceci :
var host = OperationContext.Current.Host;
host.Description.Endpoints[0].Behaviors.Add(new SilverlightFaultBehavior());
mais cela semble ne pas avoir d'effet. Le comportement d'endpoint n'est jamais appelé.
Est-il possible d'ajouter un comportement d'endpoint à un service WCF hébergé sur IIS ?