using System; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.ServiceModel.Dispatcher; namespace BeWo.Service.Security { public class SecurityEndpointBehavior : IEndpointBehavior { public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters) { } public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime) { throw new NotImplementedException("This is a server behavior only"); } public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher) { foreach (DispatchOperation iOperation in endpointDispatcher.DispatchRuntime.Operations) { iOperation.CallContextInitializers.Add(new SecurityContextInitializer()); } } public void Validate(ServiceEndpoint endpoint) { } } }