Пример #1
0
        public void SendOneWay(IServiceRemotingRequestMessage requestMessage)
        {
            IMessageBody   outgoingMessageBody   = null;
            IMessageHeader outgoingMessageHeader = null;

            try
            {
                var headerSerialzier = this.serializersManager.GetHeaderSerializer();
                outgoingMessageHeader = headerSerialzier.SerializeRequestHeader(requestMessage.GetHeader());
                var requestSerializer =
                    this.serializersManager.GetRequestBodySerializer(requestMessage.GetHeader().InterfaceId);
                outgoingMessageBody = requestSerializer.Serialize(requestMessage.GetBody());
                this.callbackChannel.SendOneWay(outgoingMessageHeader.GetSendBuffer(),
                                                outgoingMessageBody.GetSendBuffers());
            }
            finally
            {
                if (outgoingMessageHeader != null)
                {
                    outgoingMessageHeader.Dispose();
                }
                if (outgoingMessageBody != null)
                {
                    outgoingMessageBody.Dispose();
                }
            }
        }