ChannelServices.RegisterChannel Method (IChannel, Boolean)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Registers a channel with the channel services.

Namespace:   System.Runtime.Remoting.Channels
Assembly:  mscorlib (in mscorlib.dll)

[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.RemotingConfiguration)]
public static void RegisterChannel(
	IChannel chnl,
	bool ensureSecurity


Type: System.Runtime.Remoting.Channels.IChannel

The channel to register.

Type: System.Boolean

true ensures that security is enabled; otherwise false. Setting the value to false does not effect the security setting on the TCP or IPC channel.

Exception Condition

The chnl parameter is null.


The channel has already been registered.


At least one of the callers higher in the call stack does not have permission to configure remoting types and channels.


Not supported in Windows 98 for TcpServerChannel and on all platforms for HttpServerChannel. Host the service using Internet Information Services (IIS) if you require a secure HTTP channel.

The RegisterChannel(IChannel, Boolean) method receives the IChannel interface from a channel object. The channel's ChannelName must be unique, or the channel must be anonymous. A channel is anonymous if the IChannel.ChannelName is set to either null or Empty by using the name configuration property.

You cannot register two channels with the same name in a AppDomain. By default, the name of a HttpChannel is "http" and the name of a TcpChannel is "tcp". Therefore, if you want to register two channels of the same type, you must specify a different name for one of them through configuration properties.

For more information about channel configuration properties, see Channel and Formatter Configuration Properties and <channel> Element (Template).

If the ensureSecurity parameter is set to true, the remoting system determines whether the channel implements ISecurableChannel, and if so, enables encryption and digital signatures. An exception is thrown if the channel does not implement ISecurableChannel.


Setting ensureSecurity to true throws a RemotingException for the TcpServerChannel on Windows 98 (Since secure tcp channels are not supported on Windows 9x), and for the HttpServerChannel on all platforms (You must host your service in IIS if you want to use a secure http channel).


For configuration of the remoting infrastructure. Demand value: SecurityAction.Demand; Permission value: SecurityPermissionFlag.RemotingConfiguration

.NET Framework
Available since 2.0
Return to top