System.Runtime.Remoting.Channels.BinaryClientFormatterSink Class

Assembly: System.Runtime.Remoting.dll
Namespace: System.Runtime.Remoting.Channels
Summary
Provides the implementation for a client formatter sink that uses the BinaryFormatter.
C# Syntax:
public class BinaryClientFormatterSink : IClientFormatterSink, IMessageSink, IClientChannelSink, IChannelSinkBase
Remarks
The function of the formatter sink is to generate the necessary headers and serialize the message to the stream. After the formatter sink, the IMessage is forwarded to all sinks in the chain through the IClientChannelSink.ProcessMessage or IClientChannelSink.AsyncProcessRequest calls. At this stage the message has already been serialized and is provided as information only. Sinks that need to create or modify the message must be placed in the sink chain before the formatter. This is easily achieved by implementing the IClientFormatterSink interface, which gives the impression of having a reference to the formatter sink. The real formatter sink can then be placed later in the sink chain.
See also:
System.Runtime.Remoting.Channels Namespace See also:
MSDN: sinkssinkchains

System.Runtime.Remoting.Channels.BinaryClientFormatterSink Member List:

Public Constructors
ctor #1 Initializes a new instance of the BinaryClientFormatterSink class.
Public Properties
NextChannelSink Read-only

Gets the next IClientChannelSink in the sink chain.
NextSink Read-only

Gets the next IMessageSink in the sink chain.
Properties Read-only

Gets an IDictionary of properties for the current channel sink.
Public Methods
AsyncProcessMessage Asynchronously processes the provided message.
AsyncProcessRequest Requests asynchronous processing of a method call on the current sink.
AsyncProcessResponse Requests asynchronous processing of a response to a method call on the current sink.
Equals
(inherited from System.Object)
See base class member description: System.Object.Equals

Derived from System.Object, the primary base class for all objects.
GetHashCode
(inherited from System.Object)
See base class member description: System.Object.GetHashCode

Derived from System.Object, the primary base class for all objects.
GetRequestStream Returns the Stream onto which the provided message is to be serialized.
GetType
(inherited from System.Object)
See base class member description: System.Object.GetType

Derived from System.Object, the primary base class for all objects.
ProcessMessage Requests message processing from the current sink.
SyncProcessMessage Synchronously processes the provided message.
ToString
(inherited from System.Object)
See base class member description: System.Object.ToString

Derived from System.Object, the primary base class for all objects.
Protected Methods
Finalize
(inherited from System.Object)
See base class member description: System.Object.Finalize

Derived from System.Object, the primary base class for all objects.
MemberwiseClone
(inherited from System.Object)
See base class member description: System.Object.MemberwiseClone

Derived from System.Object, the primary base class for all objects.

Hierarchy:


System.Runtime.Remoting.Channels.BinaryClientFormatterSink Member Details

ctor #1
Summary
Initializes a new instance of the BinaryClientFormatterSink class.
C# Syntax:
public BinaryClientFormatterSink(
   IClientChannelSink nextSink
);
Parameters:

nextSink

The next IClientChannelSink in the sink chain.

Return to top


Property: NextChannelSink (read-only)
Summary
Gets the next IClientChannelSink in the sink chain.
C# Syntax:
public IClientChannelSink NextChannelSink {get;}
Implements:
IClientChannelSink.NextChannelSink

Return to top


Property: NextSink (read-only)
Summary
Gets the next IMessageSink in the sink chain.
C# Syntax:
public IMessageSink NextSink {get;}
Implements:
IMessageSink.NextSink

Return to top


Property: Properties (read-only)
Summary
Gets an IDictionary of properties for the current channel sink.
C# Syntax:
public IDictionary Properties {get;}
Implements:
IChannelSinkBase.Properties
Remarks


Note For more information, see the conceptual topic at MSDN: channelformatterconfigurationproperties.
See also:
MSDN: channelformatterconfigurationproperties

Return to top


Method: AsyncProcessMessage(
   IMessage msg,
   IMessageSink replySink
)
Summary
Asynchronously processes the provided message.
C# Syntax:
public IMessageCtrl AsyncProcessMessage(
   IMessage msg,
   IMessageSink replySink
);
Parameters:

msg

The message to process.

replySink

The sink that will receive the reply to the provided message.

Return Value:
An IMessageCtrl that provides a way to control the asynchronous message after it has been dispatched.
Implements:
IMessageSink.AsyncProcessMessage
See also:
MSDN: sinkssinkchains

Return to top


Method: AsyncProcessRequest(
   IClientChannelSinkStack sinkStack,
   IMessage msg,
   ITransportHeaders headers,
   Stream stream
)
Summary
Requests asynchronous processing of a method call on the current sink.
C# Syntax:
public void AsyncProcessRequest(
   IClientChannelSinkStack sinkStack,
   IMessage msg,
   ITransportHeaders headers,
   Stream stream
);
Parameters:

sinkStack

A stack of channel sinks that called the current sink.

msg

The message to process.

headers

The headers to add to the outgoing message heading to the server.

stream

The stream headed toward the transport sink.

Implements:
IClientChannelSink.AsyncProcessRequest
See also:
MSDN: sinkssinkchains

Return to top


Method: AsyncProcessResponse(
   IClientResponseChannelSinkStack sinkStack,
   object state,
   ITransportHeaders headers,
   Stream stream
)
Summary
Requests asynchronous processing of a response to a method call on the current sink.
C# Syntax:
public void AsyncProcessResponse(
   IClientResponseChannelSinkStack sinkStack,
   object state,
   ITransportHeaders headers,
   Stream stream
);
Parameters:

sinkStack

A stack of sinks that called the current sink.

state

Information associated with the current sink, generated on the request side, and needed on the response side.

headers

The headers retrieved from the server response stream.

stream

The stream coming back from the transport sink.

Implements:
IClientChannelSink.AsyncProcessResponse
See also:
ClientChannelSinkStack | ClientChannelSinkStack.Push | MSDN: sinkssinkchains

Return to top


Method: Equals(
   object obj
)
Inherited
See base class member description: System.Object.Equals
C# Syntax:
public virtual bool Equals(
   object obj
);

For more information on members inherited from System.Object click on the link above.

Return to top


Method: Finalize()
Inherited
See base class member description: System.Object.Finalize
C# Syntax:
~BinaryClientFormatterSink();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: GetHashCode()
Inherited
See base class member description: System.Object.GetHashCode
C# Syntax:
public virtual int GetHashCode();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: GetRequestStream(
   IMessage msg,
   ITransportHeaders headers
)
Summary
Returns the Stream onto which the provided message is to be serialized.
C# Syntax:
public Stream GetRequestStream(
   IMessage msg,
   ITransportHeaders headers
);
Parameters:

msg

The IMethodCallMessage containing details about the method call.

headers

The headers to add to the outgoing message heading to the server.

Return Value:
The Stream onto which the provided message is to be serialized.
Implements:
IClientChannelSink.GetRequestStream
Remarks
The BinaryClientFormatterSink.GetRequestStream method is called by the formatter sink before it serializes the message.
See also:
MSDN: sinkssinkchains

Return to top


Method: GetType()
Inherited
See base class member description: System.Object.GetType
C# Syntax:
public Type GetType();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: MemberwiseClone()
Inherited
See base class member description: System.Object.MemberwiseClone
C# Syntax:
protected object MemberwiseClone();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: ProcessMessage(
   IMessage msg,
   ITransportHeaders requestHeaders,
   Stream requestStream,
   out ITransportHeaders responseHeaders,
   out Stream responseStream
)
Summary
Requests message processing from the current sink.
C# Syntax:
public void ProcessMessage(
   IMessage msg,
   ITransportHeaders requestHeaders,
   Stream requestStream,
   out ITransportHeaders responseHeaders,
   out Stream responseStream
);
Parameters:

msg

The message to process.

requestHeaders

The headers to add to the outgoing message heading to the server.

requestStream

The stream headed toward the transport sink.

responseHeaders

When this method returns, contains an ITransportHeaders interface that holds the headers that the server returned. This parameter is passed uninitialized.

responseStream

When this method returns, contains a Stream coming back from the transport sink. This parameter is passed uninitialized.

Implements:
IClientChannelSink.ProcessMessage
See also:
MSDN: sinkssinkchains

Return to top


Method: SyncProcessMessage(
   IMessage msg
)
Summary
Synchronously processes the provided message.
C# Syntax:
public IMessage SyncProcessMessage(
   IMessage msg
);
Parameters:

msg

The message to process.

Return Value:
The response to the processed message.
Implements:
IMessageSink.SyncProcessMessage
See also:
MSDN: sinkssinkchains

Return to top


Method: ToString()
Inherited
See base class member description: System.Object.ToString
C# Syntax:
public virtual string ToString();

For more information on members inherited from System.Object click on the link above.

Return to top


Top of page

Copyright (c) 2002 Microsoft Corporation. All rights reserved.