System.Runtime.Remoting.Channels Namespace
The System.Runtime.Remoting.Channels namespace contains classes that support and handle channels and channel sinks, which are used as the transport medium when a client calls a method on a remote object.
Channels are objects that transport messages between applications across remoting boundaries, whether between application domains, processes, or computers. A channel can listen on an endpoint for inbound messages, send outbound messages to another endpoint, or both. This enables you to plug in a wide range of protocols, even if the common language runtime is not at the other end of the channel.
Channels send each object along a chain of channel sink objects prior to sending or after receiving a message. This sink chain contains sinks required for basic channel functionality, such as transport or stack builder sinks, but you can customize the channel sink chain to perform special tasks with a message or a stream. Each sink in each chain receives the object, performs a specific operation, and passes it on to the next sink in the chain. There is no rule that the exact object received by a message sink must be passed on to the next sink, though this will often be the case.
For more information, see Channels and Sinks and Sink Chains.
Classes
| Class | Description |
|---|---|
| BaseChannelObjectWithProperties | Provides a base implementation of a channel object that wants to provide a dictionary interface to its properties. |
| BaseChannelSinkWithProperties | Provides a base implementation for channel sinks that want to expose a dictionary interface to their properties. |
| BaseChannelWithProperties | Provides a base implementation for channels that want to expose a dictionary interface to their properties. |
| BinaryClientFormatterSink | Provides the implementation for a client formatter sink that uses the BinaryFormatter. |
| BinaryClientFormatterSinkProvider | Provides the implementation for the binary client formatter sink provider. |
| BinaryServerFormatterSink | Provides the implementation for a server formatter sink that uses the BinaryFormatter. |
| BinaryServerFormatterSinkProvider | Provides the implementation for the server formatter channel sink provider that uses the BinaryFormatter. |
| ChannelDataStore | Stores channel data for the remoting channels. |
| ChannelServices | Provides static methods to aid with remoting channel registration, resolution, and URL discovery. This class cannot be inherited. |
| ClientChannelSinkStack | Holds the stack of client channel sinks that must be invoked during an asynchronous message response decoding. |
| CommonTransportKeys | The transport keys associated with common values used by the channels. |
| ServerChannelSinkStack | Holds the stack of server channel sinks. |
| SinkProviderData | Stores sink provider data for sink providers. |
| SoapClientFormatterSink | Provides the implementation for a client formatter sink that uses the SoapFormatter. |
| SoapClientFormatterSinkProvider | Provides the implementation for a client formatter sink provider. |
| SoapServerFormatterSink | Provides the implementation for a server formatter sink that uses the SoapFormatter. |
| SoapServerFormatterSinkProvider | Provides the implementation for a server formatter channel sink provider that uses the SoapFormatter. |
| TransportHeaders | Stores a collection of headers used in the channel sinks. |
Interfaces
| Interface | Description |
|---|---|
| IChannel | Provides conduits for messages that cross remoting boundaries. |
| IChannelDataStore | Stores channel data for the remoting channels. |
| IChannelReceiver | Provides required functions and properties for the receiver channels. |
| IChannelReceiverHook | Indicates that the implementing channel wants to hook into the outside listener service. |
| IChannelSender | Provides required functions and properties for the sender channels. |
| IChannelSinkBase | Provides the base interface for channel sinks. |
| IClientChannelSink | Provides required functions and properties for client channel sinks. |
| IClientChannelSinkProvider | Creates client channel sinks for the client channel through which remoting messages flow. |
| IClientChannelSinkStack | Provides functionality for a stack of client channel sinks that must be invoked during an asynchronous message response decoding. |
| IClientFormatterSink | Marks a sink as a client formatter sink that serializes messages into a stream. |
| IClientFormatterSinkProvider | Marks a client channel sink provider as a client formatter sink provider. |
| IClientResponseChannelSinkStack | Provides the stack functionality for a stack of client response channel sinks that must be invoked during an asynchronous message response decoding. |
| IServerChannelSink | Provides methods used for security and transport sinks. |
| IServerChannelSinkProvider | Creates server channel sinks for the server channel through which remoting messages flow. |
| IServerChannelSinkStack | Provides the stack functionality for a stack of server channel sinks. |
| IServerFormatterSinkProvider | Marks a server channel sink provider as a server formatter sink provider. |
| IServerResponseChannelSinkStack | Provides the stack functionality for a stack of server response channel sinks. |
| ITransportHeaders | Stores a collection of headers used in the channel sinks. |
Enumerations
| Enumeration | Description |
|---|---|
| BinaryServerFormatterSink.Protocol | Specifies the protocol to use with the BinaryServerFormatterSink class. |
| ServerProcessing | Indicates the status of the server message processing. |
| SoapServerFormatterSink.Protocol | Specifies the protocol to use with the SoapServerFormatterSink class. |