public void AsyncProcessResponse(ITransportHeaders headers, Stream stream)
 {
     if (this._replySink != null)
     {
         if (this._stack == null)
         {
             throw new RemotingException(Environment.GetResourceString("Remoting_Channel_CantCallAPRWhenStackEmpty"));
         }
         IClientChannelSink sink  = this._stack.Sink;
         object             state = this._stack.State;
         this._stack = this._stack.PrevStack;
         sink.AsyncProcessResponse(this, state, headers, stream);
     }
 }
Example #2
0
        } // Pop

        /// <include file='doc\ChannelSinkStacks.uex' path='docs/doc[@for="ClientChannelSinkStack.AsyncProcessResponse"]/*' />
        public void AsyncProcessResponse(ITransportHeaders headers, Stream stream)
        {
            // If the reply sink is null, this is a one way message, so we're not
            //   going to process the reply path.
            if (_replySink != null)
            {
                if (_stack == null)
                {
                    throw new RemotingException(
                              Environment.GetResourceString(
                                  "Remoting_Channel_CantCallAPRWhenStackEmpty"));
                }

                IClientChannelSink sink  = _stack.Sink;
                Object             state = _stack.State;
                _stack = _stack.PrevStack;

                sink.AsyncProcessResponse(this, state, headers, stream);
            }
        } // AsyncProcessResponse
Example #3
0
        public void AsyncProcessResponse(ITransportHeaders headers, Stream stream)
        {
            if (this._replySink == null)
            {
                return;
            }
            if (this._stack == null)
            {
                throw new RemotingException(Environment.GetResourceString("Remoting_Channel_CantCallAPRWhenStackEmpty"));
            }
            IClientChannelSink clientChannelSink = this._stack.Sink;
            object             obj = this._stack.State;

            this._stack = this._stack.PrevStack;
            object            state    = obj;
            ITransportHeaders headers1 = headers;
            Stream            stream1  = stream;

            clientChannelSink.AsyncProcessResponse((IClientResponseChannelSinkStack)this, state, headers1, stream1);
        }
Example #4
0
 public void AsyncProcessResponse(IClientResponseChannelSinkStack sinkStack, object state, ITransportHeaders headers, Stream stream)
 {
     nextSink.AsyncProcessResponse(sinkStack, state, headers, stream);
 }