Пример #1
0
 public void ReceiveMessage(IChannelMessage response)
 {
     if (response is IRequest)
     {
         _threadPool.ExecuteTask(new RequestDeliverTask(response, requestListener));
     }
 }
Пример #2
0
            public void ReceiveMessage(IChannelMessage message)
            {
                try
                {
                    IRequest request = message as IRequest;
                    if (request != null)
                    {
                        if (_threadPool != null)
                        {
                            _threadPool.ExecuteTask(new RequestDeliverTask(message, _requestListener));
                        }
                        else
                        {
                            _requestListener.OnRequest(request);
                        }
                    }
                    else
                    {
                        IResponse response = message as IResponse;

                        if (_responseListener != null)
                        {
                            _responseListener.ReceiveMessage(message);
                        }
                        //if(response != null)
                        //    _threadPool.ExecuteTask(new ResponseDeliverTask(message, _responseListener));
                    }
                }
                catch (Exception ex)
                {
                    if (LoggerManager.Instance.ServerLogger != null && LoggerManager.Instance.ServerLogger.IsErrorEnabled)
                    {
                        LoggerManager.Instance.ServerLogger.Error("DualChannelListener.RecieveMessage", ex.Message);
                    }
                }
            }