TcpChannel Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della classe TcpChannel.
Overload
| Nome | Descrizione |
|---|---|
| TcpChannel() |
Inizializza una nuova istanza della TcpChannel classe , attivando solo un canale client e non un canale server. |
| TcpChannel(Int32) |
Inizializza una nuova istanza della TcpChannel classe con un canale server in ascolto sulla porta specificata. |
| TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider) |
Inizializza una nuova istanza della TcpChannel classe con le proprietà e i sink di configurazione specificati. |
TcpChannel()
Inizializza una nuova istanza della TcpChannel classe , attivando solo un canale client e non un canale server.
public:
TcpChannel();
public TcpChannel();
Public Sub New ()
Esempio
Nell'esempio di codice seguente viene illustrato come usare questo costruttore.
// Create the channel.
TcpChannel^ clientChannel = gcnew TcpChannel();
// Create the channel.
TcpChannel clientChannel = new TcpChannel();
Commenti
Il costruttore senza parametri inizializza tutti i campi con i relativi valori predefiniti. Se viene usato il costruttore senza parametri, il canale funziona solo come canale client e non è in ascolto su alcuna porta.
Si applica a
TcpChannel(Int32)
Inizializza una nuova istanza della TcpChannel classe con un canale server in ascolto sulla porta specificata.
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)
Parametri
- port
- Int32
Porta in cui il canale del server è in ascolto.
Esempio
Nell'esempio di codice seguente viene illustrato l'uso di questo metodo. Per richiedere l'assegnazione dinamica di una porta disponibile, impostare il port parametro su zero.
// 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()
Commenti
Per richiedere che il sistema di comunicazione remota scelga una porta aperta per conto dell'utente, specificare la porta 0 (zero). Verrà creata un'istanza TcpServerChannel per l'ascolto delle richieste sulla porta assegnata dinamicamente. Questa operazione viene in genere eseguita sul client per assicurarsi che un oggetto TcpServerChannel sia in ascolto dei metodi di callback.
Se 0 viene passato al costruttore , viene creata un'istanza TcpChannel di per usare una porta libera.
Si applica a
TcpChannel(IDictionary, IClientChannelSinkProvider, IServerChannelSinkProvider)
Inizializza una nuova istanza della TcpChannel classe con le proprietà e i sink di configurazione specificati.
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)
Parametri
- properties
- IDictionary
Raccolta IDictionary che specifica i valori per le proprietà di configurazione da utilizzare dai canali client e server.
- clientSinkProvider
- IClientChannelSinkProvider
Implementazione IClientChannelSinkProvider da usare dal canale client.
- serverSinkProvider
- IServerChannelSinkProvider
Implementazione IServerChannelSinkProvider da utilizzare dal canale del server.
Eccezioni
Una proprietà del canale specificata è stata formattata in modo non corretto.
Esempio
Nell'esempio di codice seguente viene illustrato come usare questo costruttore.
// 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);
Commenti
Per altre informazioni sulle proprietà di configurazione del canale, vedere Proprietà di configurazione del canale e del formattatore.
I sink di canale forniscono un punto di plug-in che consente l'accesso ai messaggi sottostanti che passano attraverso il canale, nonché il flusso usato dal meccanismo di trasporto per inviare messaggi a un oggetto remoto. I sink di canale sono anche responsabili del trasporto di messaggi tra il client e il server. I sink di canale vengono collegati in una catena e tutti i messaggi del canale passano attraverso questa catena di sink prima che il messaggio venga infine serializzato e trasportato. Se non è necessaria la funzionalità sink, impostare i clientSinkProvider parametri e serverSinkProvider su null.