GetResponseStream() public method

public GetResponseStream ( ) : Stream
return Stream
        private void ReceiveCallback(object state)
        {
            TcpClientSocketHandler  handler = null;
            IClientChannelSinkStack dataArrivedCallbackState = null;

            try
            {
                handler = (TcpClientSocketHandler)state;
                dataArrivedCallbackState = (IClientChannelSinkStack)handler.DataArrivedCallbackState;
                ITransportHeaders headers        = handler.ReadHeaders();
                Stream            responseStream = handler.GetResponseStream();
                dataArrivedCallbackState.AsyncProcessResponse(headers, responseStream);
            }
            catch (Exception exception)
            {
                try
                {
                    if (dataArrivedCallbackState != null)
                    {
                        dataArrivedCallbackState.DispatchException(exception);
                    }
                }
                catch
                {
                }
            }
        }
Exemplo n.º 2
0
        } // SendRequestWithRetry

        private void ReceiveCallback(Object state)
        {
            TcpClientSocketHandler  clientSocket = null;
            IClientChannelSinkStack sinkStack    = null;

            try
            {
                clientSocket = (TcpClientSocketHandler)state;
                sinkStack    = (IClientChannelSinkStack)clientSocket.DataArrivedCallbackState;

                ITransportHeaders responseHeaders = clientSocket.ReadHeaders();
                Stream            responseStream  = clientSocket.GetResponseStream();

                // call down the sink chain
                sinkStack.AsyncProcessResponse(responseHeaders, responseStream);
            }
            catch (Exception e)
            {
                try
                {
                    if (sinkStack != null)
                    {
                        sinkStack.DispatchException(e);
                    }
                }
                catch (Exception)
                {
                    // Fatal Error.. ignore
                }
            }

            // The client socket will be returned to the cache
            //   when the response stream is closed.
        } // ReceiveCallback
        public void ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, out ITransportHeaders responseHeaders, out Stream responseStream)
        {
            Debugger.NotifyOfCrossThreadDependency();
            TcpClientSocketHandler handler = this.SendRequestWithRetry(msg, requestHeaders, requestStream);

            responseHeaders = handler.ReadHeaders();
            responseStream  = handler.GetResponseStream();
        }
        } // TcpClientTransportSink

        public void ProcessMessage(IMessage msg,
                                   ITransportHeaders requestHeaders, Stream requestStream,
                                   out ITransportHeaders responseHeaders, out Stream responseStream)
        {
            InternalRemotingServices.RemotingTrace("TcpClientTransportSink::ProcessMessage");

            TcpClientSocketHandler clientSocket =
                SendRequestWithRetry(msg, requestHeaders, requestStream);

            // receive response
            responseHeaders = clientSocket.ReadHeaders();
            responseStream  = clientSocket.GetResponseStream();

            // The client socket will be returned to the cache
            //   when the response stream is closed.
        } // ProcessMessage
        } // TcpClientTransportSink

        public void ProcessMessage(IMessage msg,
                                   ITransportHeaders requestHeaders, Stream requestStream,
                                   out ITransportHeaders responseHeaders, out Stream responseStream)
        {
            InternalRemotingServices.RemotingTrace("TcpClientTransportSink::ProcessMessage");

            // the call to SendRequest can block a func eval, so we want to notify the debugger that we're
            // about to call a blocking operation.
            System.Diagnostics.Debugger.NotifyOfCrossThreadDependency();

            TcpClientSocketHandler clientSocket =
                SendRequestWithRetry(msg, requestHeaders, requestStream);

            // receive response
            responseHeaders = clientSocket.ReadHeaders();
            responseStream  = clientSocket.GetResponseStream();

            // The client socket will be returned to the cache
            //   when the response stream is closed.
        } // ProcessMessage