Opc.Ua.ServiceMessageContextBehaviorAttribute.ApplyDispatchBehavior C# (CSharp) Method

ApplyDispatchBehavior() public method

Provides the ability to change run-time property values or insert custom extension objects such as error handlers, message or parameter interceptors, security extensions, and other custom extension objects.
public ApplyDispatchBehavior ( System.ServiceModel.Description.ServiceDescription serviceDescription, ServiceHostBase serviceHostBase ) : void
serviceDescription System.ServiceModel.Description.ServiceDescription The service description.
serviceHostBase ServiceHostBase The host that is currently being built.
return void
        public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
        {
            ServiceMessageContext contextToUse = null;

            Opc.Ua.ServiceHost serviceHost = serviceHostBase as Opc.Ua.ServiceHost;
 
            if (serviceHost == null)
            {
                contextToUse = ServiceMessageContext.GlobalContext;
            }
            else
            {
                contextToUse = serviceHost.Server.MessageContext;
            }

            foreach (ChannelDispatcher dispatcher in serviceHostBase.ChannelDispatchers)
            {
                foreach (EndpointDispatcher endpoint in dispatcher.Endpoints)
                {
                    endpoint.DispatchRuntime.MessageInspectors.Add(new ServiceMessageContextMessageInspector(contextToUse));
                }
            }
        }
ServiceMessageContextBehaviorAttribute