System.Runtime.Remoting.Channels.IClientChannelSinkStack

Provides functionality for a stack of client channel sinks that must be invoked during an asynchronous message response decoding.

See Also: IClientChannelSinkStack Members

Syntax

[System.Runtime.InteropServices.ComVisible(true)]
public interface IClientChannelSinkStack : IClientResponseChannelSinkStack

Remarks

The System.Runtime.Remoting.Channels.IClientChannelSinkStack is used during processing of responses to asynchronous calls.

During a synchronous call, the IClientChannelSink.ProcessMessage(System.Runtime.Remoting.Messaging.IMessage, ITransportHeaders, System.IO.Stream, ITransportHeaders@, System.IO.Stream@) method is called when a message is outbound to the server. Each sink in the sink chain calls the IClientChannelSink.ProcessMessage(System.Runtime.Remoting.Messaging.IMessage, ITransportHeaders, System.IO.Stream, ITransportHeaders@, System.IO.Stream@) method on the next sink until the call reaches the transport sink at the end of the chain. From there the message is transported to the server.

When the formatter sink is called through the System.Runtime.Remoting.Messaging.IMessageSink.AsyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessageSink) method, it dispatches the call asynchronously by calling IClientChannelSink.AsyncProcessRequest(IClientChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, ITransportHeaders, System.IO.Stream) on the next channel sink. A stack of reply sinks is needed to process the response. Any sink that wants to process the response needs to push itself to the client channel sink stack inside of IClientChannelSink.AsyncProcessRequest(IClientChannelSinkStack, System.Runtime.Remoting.Messaging.IMessage, ITransportHeaders, System.IO.Stream).

Requirements

Namespace: System.Runtime.Remoting.Channels
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0