IpcChannel Constructor (IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)


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

Initializes a new instance of the IpcChannel class with the specified configuration properties and sinks.

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

public IpcChannel(
	IDictionary properties,
	IClientChannelSinkProvider clientSinkProvider,
	IServerChannelSinkProvider serverSinkProvider


Type: System.Collections.IDictionary

A IDictionary collection specifying values for configuration properties to be used by the client and server channels.

Type: System.Runtime.Remoting.Channels.IClientChannelSinkProvider

The IClientChannelSinkProvider implementation to be used by the client channel.

Type: System.Runtime.Remoting.Channels.IServerChannelSinkProvider

The IServerChannelSinkProvider implementation to be used by the server channel.

For more information about channel configuration properties, see Channel and Formatter Configuration Properties.

Channel sinks provide a plug-in point that allows access to the underlying messages flowing through the channel as well as the stream used by the transport mechanism to send messages to a remote object. Channel sinks are also responsible for transporting messages between the client and the server. Channel sinks are linked together in a chain, and all channel messages flow through this chain of sinks before the message is finally serialized and transported. If you do not require sink functionality, set the clientSinkProvider and serverSinkProvider parameters to null.


When setting the exclusiveAddressUse property to false in the properties argument, several IpcServerChannel objects can be registered for the same named pipe. In such a case requests can go to any of the channels registered. This setting is considered secure only if ALCs are also used.

The following code example shows how to use this constructor. This code example is part of a larger example provided for the IpcChannel class.

// Create the server channel.
System.Collections.IDictionary properties = 
    new System.Collections.Hashtable();
properties["name"] = "ipc";
properties["priority"] = "20";
properties["portName"] = "localhost:9090";
IpcChannel serverChannel = new IpcChannel(properties, null, null); 

.NET Framework
Available since 2.0
Return to top