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 the conceptual topic at MSDN: channels and the conceptual topic at MSDN: sinkssinkchains.
| Class | Description |
|---|---|
| class BaseChannelObjectWithProperties | Provides a base implementation of a channel object that wants to provide a dictionary interface to its properties. |
| class BaseChannelSinkWithProperties | Provides a base implementation for channel sinks that want to expose a dictionary interface to their properties. |
| class BaseChannelWithProperties | Provides a base implementation for channels that want to expose a dictionary interface to their properties. |
| class BinaryClientFormatterSink | Provides the implementation for a client formatter sink that uses the BinaryFormatter. |
| class BinaryClientFormatterSinkProvider | Provides the implementation for the binary client formatter sink provider. |
| class BinaryServerFormatterSink | Provides the implementation for a server formatter sink that uses the BinaryFormatter. |
| class BinaryServerFormatterSinkProvider | Provides the implementation for the server formatter channel sink provider that uses the BinaryFormatter. |
| class ChannelDataStore | Stores channel data for the remoting channels. |
| class ChannelServices | Provides static methods to aid with remoting channel registration, resolution, and URL discovery. This class cannot be inherited. |
| class ClientChannelSinkStack | Holds the stack of client channel sinks that must be invoked during an asynchronous message response decoding. |
| class CommonTransportKeys | The transport keys associated with common values used by the channels. |
| class ServerChannelSinkStack | Holds the stack of server channel sinks. |
| class SinkProviderData | Stores sink provider data for sink providers. |
| class SoapClientFormatterSink | Provides the implementation for a client formatter sink that uses the SoapFormatter. |
| class SoapClientFormatterSinkProvider | Provides the implementation for a client formatter sink provider. |
| class SoapServerFormatterSink | Provides the implementation for a server formatter sink that uses the SoapFormatter. |
| class SoapServerFormatterSinkProvider | Provides the implementation for a server formatter channel sink provider that uses the SoapFormatter. |
| class TransportHeaders | Stores a collection of headers used in the channel sinks. |
| Interface | Description |
|---|---|
| interface IChannel | Provides conduits for messages that cross remoting boundaries. |
| interface IChannelDataStore | Stores channel data for the remoting channels. |
| interface IChannelReceiver | Provides required functions and properties for the receiver channels. |
| interface IChannelReceiverHook | Indicates that the implementing channel wants to hook into the outside listener service. |
| interface IChannelSender | Provides required functions and properties for the sender channels. |
| interface IChannelSinkBase | Provides the base interface for channel sinks. |
| interface IClientChannelSink | Provides required functions and properties for client channel sinks. |
| interface IClientChannelSinkProvider | Creates client channel sinks for the client channel through which remoting messages flow. |
| interface IClientChannelSinkStack | Provides functionality for a stack of client channel sinks that must be invoked during an asynchronous message response decoding. |
| interface IClientFormatterSink | Marks a sink as a client formatter sink that serializes messages into a stream. |
| interface IClientFormatterSinkProvider | Marks a client channel sink provider as a client formatter sink provider. |
| interface IClientResponseChannelSinkStack | Provides the stack functionality for a stack of client response channel sinks that must be invoked during an asynchronous message response decoding. |
| interface IServerChannelSink | Provides methods used for security and transport sinks. |
| interface IServerChannelSinkProvider | Creates server channel sinks for the server channel through which remoting messages flow. |
| interface IServerChannelSinkStack | Provides the stack functionality for a stack of server channel sinks. |
| interface IServerFormatterSinkProvider | Marks a server channel sink provider as a server formatter sink provider. |
| interface IServerResponseChannelSinkStack | Provides the stack functionality for a stack of server response channel sinks. |
| interface ITransportHeaders | Stores a collection of headers used in the channel sinks. |
| Enumeration | Description |
|---|---|
| enumeration SoapServerFormatterSink.Protocol | Specifies the protocol to use with the SoapServerFormatterSink class. |
| enumeration ServerProcessing | Indicates the status of the server message processing. |