using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.ServiceModel.Dispatcher; namespace BeWo.Service.UnitOfWork { public class HibernateSessionEndpointBehavior : IEndpointBehavior { public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters) { } public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime) { } public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher) { foreach (DispatchOperation iOperation in endpointDispatcher.DispatchRuntime.Operations) { iOperation.CallContextInitializers.Add(new HibernateSessionContextInitializer()); } } public void Validate(ServiceEndpoint endpoint) { } } }