Edit

Share via


IClientChannelSinkStack Interface

Definition

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

public interface class IClientChannelSinkStack : System::Runtime::Remoting::Channels::IClientResponseChannelSinkStack
public interface IClientChannelSinkStack : System.Runtime.Remoting.Channels.IClientResponseChannelSinkStack
[System.Runtime.InteropServices.ComVisible(true)]
public interface IClientChannelSinkStack : System.Runtime.Remoting.Channels.IClientResponseChannelSinkStack
type IClientChannelSinkStack = interface
    interface IClientResponseChannelSinkStack
[<System.Runtime.InteropServices.ComVisible(true)>]
type IClientChannelSinkStack = interface
    interface IClientResponseChannelSinkStack
Public Interface IClientChannelSinkStack
Implements IClientResponseChannelSinkStack
Derived
Attributes
Implements

Remarks

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.

Methods

AsyncProcessResponse(ITransportHeaders, Stream)

Requests asynchronous processing of a method call on the sinks in the current sink stack.

(Inherited from IClientResponseChannelSinkStack)
DispatchException(Exception)

Dispatches the specified exception on the reply sink.

(Inherited from IClientResponseChannelSinkStack)
DispatchReplyMessage(IMessage)

Dispatches the specified reply message on the reply sink.

(Inherited from IClientResponseChannelSinkStack)
Pop(IClientChannelSink)

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

Push(IClientChannelSink, Object)

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

Applies to

See also