This documentation is archived and is not being maintained.

ChannelServices Class

Provides static methods to aid with remoting channel registration, resolution, and URL discovery. This class cannot be inherited.

For a list of all members of this type, see ChannelServices Members.


[Visual Basic]
NotInheritable Public Class ChannelServices
public sealed class ChannelServices
public __gc __sealed class ChannelServices
public class ChannelServices

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


Channels transport messages between applications across remoting boundaries such as AppDomains, processes, and computers. These crossings can be inbound and outbound. A channel can listen on an endpoint for inbound messages, send to an endpoint for outbound messages, or both. This provides an extensibility point in the runtime to plug in a wide range protocols, even though the runtime might not be at the other end of the channel. Run-time objects can be used to expose a wide range of semantics and entities. The channel provides the extensibility point to convert the messages to and from the specific protocols.

Channels must expose the IChannel interface, which provides informational properties such as the ChannelName and ChannelPriority. Channels are registered using the ChannelServices.RegisterChannel method. Channels can also be loaded from the remoting configuration. (See <channel> Element (Template) for details.)

On the client side, messages are handed off to the client channel sink chain after they traverse the client Context chain. The first channel sink is typically an IClientFormatterSink, which serializes the message into a stream that is passed down the channel sink chain to the client transport sink. The client transport sink then writes this stream out to the wire.

On the server side, the server transport sink reads requests off the wire and passes the request stream to the server channel sink chain. The server formatter sink at the end of this chain will deserialize the request into a message. It will then hand this message off to the Remoting infrastructure, which will dispatch it to the server Context chain.


Namespace: System.Runtime.Remoting.Channels

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

Assembly: Mscorlib (in Mscorlib.dll)

See Also

ChannelServices Members | System.Runtime.Remoting.Channels Namespace | Application Domains