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. |