public void ProcessMessage(Message requestMessage) { lock (this.m_duplexSessionLock) { if (this.m_duplexSession == null) { IDuplexRouterCallback callback = OperationContext.Current.GetCallbackChannel <IDuplexRouterCallback>(); DuplexChannelFactory <IDuplexRouterService> factory = new DuplexChannelFactory <IDuplexRouterService> (new InstanceContext(null, new DuplexRouterCallback(callback)), "serviceEndpoint"); factory.Endpoint.Behaviors.Add(new MustUnderstandBehavior(false)); this.m_duplexSession = factory.CreateChannel(); } } this.m_duplexSession.ProcessMessage(requestMessage); }
public void ProcessMessage(Message requestMessage) { lock (this.m_duplexSessionLock) { if (this.m_duplexSession == null) { IDuplexRouterCallback callback = OperationContext.Current.GetCallbackChannel <IDuplexRouterCallback>(); DuplexChannelFactory<IDuplexRouterService> factory = new DuplexChannelFactory<IDuplexRouterService> (new InstanceContext(null, new DuplexRouterCallback(callback)), "serviceEndpoint"); factory.Endpoint.Behaviors.Add(new MustUnderstandBehavior(false)); this.m_duplexSession = factory.CreateChannel(); } } this.m_duplexSession.ProcessMessage(requestMessage); }