public GetResponseStream ( IMessage msg, ITransportHeaders headers ) : Stream | ||
msg | IMessage | |
headers | ITransportHeaders | |
return | Stream |
public Stream GetResponseStream(IMessage msg, ITransportHeaders headers)
{
if (_stack == null)
{
throw new RemotingException(
Environment.GetResourceString(
"Remoting_Channel_CantCallGetResponseStreamWhenStackEmpty"));
}
// save state
IServerChannelSink savedSink = _stack.Sink;
Object savedState = _stack.State;
_stack = _stack.PrevStack;
Stream stream = savedSink.GetResponseStream(this, savedState, msg, headers);
// restore state
Push(savedSink, savedState);
return stream;
} // GetResponseStream