IClientChannelSinkStack Interface


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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

Namespace:   System.Runtime.Remoting.Channels
Assembly:  mscorlib (in mscorlib.dll)

public interface IClientChannelSinkStack : IClientResponseChannelSinkStack

System_CAPS_pubmethodAsyncProcessResponse(ITransportHeaders, Stream)

Requests asynchronous processing of a method call on the sinks in the current sink stack.(Inherited from IClientResponseChannelSinkStack.)


Dispatches the specified exception on the reply sink.(Inherited from IClientResponseChannelSinkStack.)


Dispatches the specified reply message on the reply sink.(Inherited from IClientResponseChannelSinkStack.)


Pops the information associated with all the sinks from the sink stack up to and including the specified sink.

System_CAPS_pubmethodPush(IClientChannelSink, Object)

Pushes the specified sink and information associated with it onto the sink stack.

The IClientChannelSinkStack is used during processing of responses to asynchronous calls.

During a synchronous call, the IClientChannelSink.ProcessMessage method is called when a message is outbound to the server. Each sink in the sink chain calls the ProcessMessage 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 AsyncProcessMessage method, it dispatches the call asynchronously by calling AsyncProcessRequest 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 AsyncProcessRequest.

.NET Framework
Available since 1.1
Return to top