sink = ChannelServices.CreateServerChannelSinkChain(null, this);
// создание стека труб stack = new ServerChannelSinkStack(); stack.Push(sink, null); // Начать ожидание собщений в очереди StartListening(null); }
// метод интерфейса IChannelReceiver, возваращает все URL для данного URI public virtual string[] GetUrlsForUri(string objectURI) { return new string[] {objectURI}; }
// обработка пришедшего сообщения MSMQ private IMessage OnReceive(Object sender, IMessage request, MessageQueue queueResponse) { return ProcessMessage(request); }
// методы, управляющие прослушивание канала public void StartListening(Object data) { msmqServer.BeginReceive(); }
public void StopListening(Object data) { msmqServer.EndReceive(); } |