Freigeben über


TcpChannel Konstruktoren

Definition

Initialisiert eine neue Instanz der TcpChannel-Klasse.

Überlädt

TcpChannel()

Initialisiert eine neue Instanz der TcpChannel-Klasse, wobei lediglich ein Clientchannel und kein Serverchannel aktiviert wird.

TcpChannel(Int32)

Initialisiert eine neue Instanz der TcpChannel-Klasse mit einem Serverchannel, die den angegebenen Anschluss überwacht.

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Initialisiert eine neue Instanz der TcpChannel-Klasse mit den angegebenen Konfigurationseigenschaften und Konfigurationssenken.

TcpChannel()

Initialisiert eine neue Instanz der TcpChannel-Klasse, wobei lediglich ein Clientchannel und kein Serverchannel aktiviert wird.

public:
 TcpChannel();
public TcpChannel ();
Public Sub New ()

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieses Konstruktors veranschaulicht.

// Create the channel.
TcpChannel^ clientChannel = gcnew TcpChannel();
// Create the channel.
TcpChannel clientChannel = new TcpChannel();

Hinweise

Der parameterlose Konstruktor initialisiert alle Felder mit ihren Standardwerten. Wenn der parameterlose Konstruktor verwendet wird, funktioniert der Kanal nur als Clientkanal und lauscht nicht an Ports.

Gilt für:

TcpChannel(Int32)

Initialisiert eine neue Instanz der TcpChannel-Klasse mit einem Serverchannel, die den angegebenen Anschluss überwacht.

public:
 TcpChannel(int port);
public TcpChannel (int port);
new System.Runtime.Remoting.Channels.Tcp.TcpChannel : int -> System.Runtime.Remoting.Channels.Tcp.TcpChannel
Public Sub New (port As Integer)

Parameter

port
Int32

Der Port, den der Serverchannel überwacht.

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieser Methode veranschaulicht. Um die dynamische Zuweisung eines verfügbaren Ports anzufordern, legen Sie den port Parameter auf 0 fest.

// Registers the server and waits until the user hits enter.
TcpChannel^ chan = gcnew TcpChannel( 8084 );
ChannelServices::RegisterChannel( chan );

RemotingConfiguration::RegisterWellKnownServiceType(
   Type::GetType( "HelloServer,server" ),
   "SayHello",
   WellKnownObjectMode::SingleCall );
System::Console::WriteLine( L"Hit <enter> to exit..." );
System::Console::ReadLine();
// Registers the server and waits until the user hits enter.
TcpChannel chan = new TcpChannel(8084);
ChannelServices.RegisterChannel(chan);

RemotingConfiguration.RegisterWellKnownServiceType(Type.GetType("HelloServer,server"),
                                                  "SayHello",
                                                   WellKnownObjectMode.SingleCall);
System.Console.WriteLine("Hit <enter> to exit...");
System.Console.ReadLine();
' Registers the server and waits until the user hits enter.
Dim chan As New TcpChannel(8084)
ChannelServices.RegisterChannel(chan)

RemotingConfiguration.RegisterWellKnownServiceType(Type.GetType("HelloServer,server"), "SayHello", WellKnownObjectMode.SingleCall)
System.Console.WriteLine("Hit <enter> to exit...")
System.Console.ReadLine()

Hinweise

Geben Sie Port 0 (Null) an, um das Remotingsystem anzufordern, einen offenen Port in Ihrem Namen auszuwählen. Dadurch wird eine TcpServerChannel Instanz erstellt, um auf Anforderungen am dynamisch zugewiesenen Port zu lauschen. Dies geschieht in der Regel auf dem Client, um sicherzustellen, dass ein TcpServerChannel auf Rückrufmethoden lauscht.

Wenn 0 an den Konstruktor übergeben wird, wird instanziiert TcpChannel , um einen freien Port zu verwenden.

Gilt für:

TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)

Initialisiert eine neue Instanz der TcpChannel-Klasse mit den angegebenen Konfigurationseigenschaften und Konfigurationssenken.

public:
 TcpChannel(System::Collections::IDictionary ^ properties, System::Runtime::Remoting::Channels::IClientChannelSinkProvider ^ clientSinkProvider, System::Runtime::Remoting::Channels::IServerChannelSinkProvider ^ serverSinkProvider);
public TcpChannel (System.Collections.IDictionary properties, System.Runtime.Remoting.Channels.IClientChannelSinkProvider clientSinkProvider, System.Runtime.Remoting.Channels.IServerChannelSinkProvider serverSinkProvider);
new System.Runtime.Remoting.Channels.Tcp.TcpChannel : System.Collections.IDictionary * System.Runtime.Remoting.Channels.IClientChannelSinkProvider * System.Runtime.Remoting.Channels.IServerChannelSinkProvider -> System.Runtime.Remoting.Channels.Tcp.TcpChannel
Public Sub New (properties As IDictionary, clientSinkProvider As IClientChannelSinkProvider, serverSinkProvider As IServerChannelSinkProvider)

Parameter

properties
IDictionary

Eine IDictionary-Auflistung, die Werte für Konfigurationseigenschaften angibt, die vom Client- und Serverchannel verwendet werden sollen.

clientSinkProvider
IClientChannelSinkProvider

Die IClientChannelSinkProvider-Implementierung, die vom Clientchannel verwendet werden soll.

serverSinkProvider
IServerChannelSinkProvider

Die IServerChannelSinkProvider-Implementierung, die vom Serverchannel verwendet werden soll.

Ausnahmen

Eine bereitgestellte Channeleigenschaft ist falsch formatiert.

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieses Konstruktors veranschaulicht.

// Specify the properties for the server channel.
System::Collections::IDictionary^ dict = gcnew System::Collections::Hashtable;
dict[ "port" ] = 9090;
dict[ "authenticationMode" ] = "IdentifyCallers";

// Set up the server channel.
TcpChannel^ serverChannel = gcnew TcpChannel( dict,nullptr,nullptr );
ChannelServices::RegisterChannel( serverChannel );
// Specify the properties for the server channel.
System.Collections.IDictionary dict =
    new System.Collections.Hashtable();
dict["port"] = 9090;
dict["authenticationMode"] = "IdentifyCallers";

// Set up the server channel.
TcpChannel serverChannel = new TcpChannel(dict, null, null);
ChannelServices.RegisterChannel(serverChannel);

Hinweise

Weitere Informationen zu Kanalkonfigurationseigenschaften finden Sie unter Eigenschaften der Kanal- und Formatiererkonfiguration.

Kanalsenken bieten einen Plug-In-Punkt, der den Zugriff auf die zugrunde liegenden Nachrichten ermöglicht, die durch den Kanal fließen, sowie auf den Stream, der vom Transportmechanismus zum Senden von Nachrichten an ein Remoteobjekt verwendet wird. Kanalsenken sind auch für den Transport von Nachrichten zwischen dem Client und dem Server verantwortlich. Kanalsenken werden in einer Kette miteinander verknüpft, und alle Kanalnachrichten durchlaufen diese Kette von Senken, bevor die Nachricht schließlich serialisiert und transportiert wird. Wenn Sie keine Senkenfunktionalität benötigen, legen Sie die clientSinkProvider Parameter und serverSinkProvider auf fest null.

Weitere Informationen

Gilt für: