Elemento <channel> (istanza)
Questo argomento è specifico di una tecnologia legacy mantenuta per una questione di compatibilità con le applicazioni esistenti di versioni precedenti e non è consigliato per il nuovo sviluppo. Le applicazioni distribuite devono ora essere sviluppate utilizzando Windows Communication Foundation (WCF).
Configura il canale utilizzato dall'applicazione per comunicare con oggetti remoti. È inoltre possibile dichiarare e configurare un nuovo canale che non sia un modello di canale. Questo elemento può essere presente in un file di configurazione del computer e in un file di configurazione dell'applicazione.
Schema Hierarchy
<configuration>
Elemento <system.runtime.remoting>
Elemento <application>
Elemento <channels> (istanza)
Elemento <channel> (istanza)
Sintassi
<!-- Either reference a channel template -->
<channel
ref="channelRef"
displayName="name"
port="port"
/>
<!-- Or declare a particular channel instance -->
<channel
type="ChannelType, ChannelAssembly"
displayName="name"
port="port"
customChannelProperty="propertyValue"
/>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.
Attributi
Attributo | Descrizione |
---|---|
ref |
Attributo facoltativo. Indica l'ID del modello di canale che il client intende registrare per l'utilizzo. Se viene specificato un attributo ref, non è necessario specificare un attributo type. Nei servizi remoti di .NET Framework sono disponibili tre implementazioni di canale, "http", "tcp" e "ipc". Per ulteriori informazioni sulla scelta di un'implementazione di canale, vedere Scelta di un canale. |
displayName |
Attributo facoltativo. Viene utilizzato dallo strumento .NET Framework Configuration per la creazione di un elenco di canali registrati dall'applicazione. Nel sistema .NET Framework Remoting questo attributo non viene utilizzato. |
type |
Attributo facoltativo. Indica il nome completo del tipo del canale e il nome dell'assembly in cui si trova l'implementazione del canale. Se l'assembly che contiene il canale si trova nella Global Assembly Cache, vengono specificate anche le informazioni relative alla versione, alle impostazioni cultura e alla chiave pubblica. Questo attributo è necessario se non si utilizza un attributo ref. Nei servizi remoti di .NET Framework sono disponibili tre implementazioni di canale, "http", "tcp" e "ipc". Per ulteriori informazioni sulla scelta di un'implementazione di canale, vedere Scelta di un canale. |
port |
Attributo facoltativo. Indica un attributo di porta appropriato. È possibile specificare un attributo di porta se, ad esempio, si desidera che il canale attenda su una porta. Alcuni canali, ad esempio TcpChannel, richiedono che venga specificata una porta. Altri, come HttpChannel, possiedono porte predefinite e di conseguenza non richiedono la presenza di questo attributo. Se si compila un client e si specifica 0 (zero) come porta, il sistema .NET Framework Remoting sceglierà automaticamente una porta appropriata. Se non si specifica una porta per un canale del client, quest'ultimo non potrà ricevere chiamate a funzioni di callback dall'oggetto remoto. |
portName |
Attributo obbligatorio per un IpcChannel o IpcServerChannel. Specifica il nome della porta che verrà esposta dal server. |
<customChannelProperty> |
Attributo facoltativo. Indica una proprietà di canale personalizzata e supportata. È possibile specificare un numero qualsiasi di proprietà di canale in grado di essere supportate dai canali. Una proprietà personalizzata di canale verrà specificata con una coppia attributo/valore. Ad esempio:
|
useIpAddress |
Valore booleano (true o false) che specifica se utilizzare l'indirizzo IP nell'URL di pubblicazione in luogo del nome del computer. Nelle reti senza fili, ad esempio, l'indirizzo IP di un computer portatile che si sposta nella rete viene spesso modificato. Se si specifica false per questo valore, invece dell'indirizzo verrà utilizzato il nome del computer, in modo che le comunicazioni remote non vengano disconnesse nel corso del roaming. L'impostazione predefinita è true. Questo valore può essere sottoposto a override dalla proprietà machineName quando quest'ultima viene utilizzata con un canale server. |
machineName |
Stringa che specifica il nome del computer utilizzato con il canale corrente. Se utilizzata con un canale server, esegue l'override di useIpAddress. Nota È consigliabile utilizzare il nome DNS (Domain Name System) del computer, ma quando l'indirizzo IP di una particolare scheda di interfaccia di rete (Network Interface Card, NIC), di solito senza fili, cambia rapidamente, è necessario configurare l'applicazione in modo da utilizzare machineName per abilitare la comunicazione remota e trovare il computer tramite DNS. Quando però il nome del computer non viene risolto rapidamente, o non viene risolto affatto, e quando il computer dispone di più NIC, fisiche o virtuali, come spesso avviene per le connessioni remote o per le schede di rete VPN, è necessario impostare la proprietà machineName sull'indirizzo IP della NIC correntemente utilizzata per la specifica connessione. |
Elementi figlio
Elemento | Descrizione |
---|---|
Contiene i provider di sink per i sink da inserire nella catena di chiamate di sink di canale sul lato server. Se specificato, viene eseguito l'override completo delle impostazioni predefinite del canale. Può essere presente una sola volta nell'elemento <channel>. |
|
Contiene i provider di sink per i sink da inserire nella catena di chiamate di sink di canale sul lato client. Se specificato, viene eseguito l'override completo delle impostazioni predefinite del canale. Può essere presente una sola volta nell'elemento <channel>. |
Elementi padre
Elemento | Descrizione |
---|---|
application |
Contiene informazioni relative a oggetti remoti utilizzati ed esposti dall'applicazione. |
channels |
Contiene i canali utilizzati dall'applicazione per comunicare con oggetti remoti. L'elemento configura i modelli dei canali o dichiara nuovi canali utilizzabili con l'applicazione specificata. |
configuration |
Elemento radice in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework. |
system.runtime.remoting |
Contiene informazioni relative a oggetti e canali remoti. |
Osservazioni
I canali HttpChannel, TcpChannel e IpcChannel forniti dal sistema sono specificati nel file di configurazione del computer. I relativi attributi Id sono rispettivamente "http", "tcp" e "ipc".
Esempio
Nel file di configurazione riportato di seguito viene dichiarato il percorso di un tipo remoto per un'applicazione client e viene utilizzato l'elemento di istanza <channels> per specificare al sistema .NET Framework Remoting la necessità di individuare una porta appropriata con cui connettersi all'oggetto server e di utilizzare il canale predefinito HttpChannel.
<configuration>
<system.runtime.remoting>
<application>
<client>
<wellknown
type="RemoteType, RemoteAssembly"
url="http://computername:8080/RemoteType.rem"
/>
</client>
<channels>
<channel
ref="http"
port="0"
/>
</channels>
</application>
</system.runtime.remoting>
</configuration>
Vedere anche
Riferimento
Schema delle impostazioni remote
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel
IpcChannel
IpcClientChannel
IpcServerChannel
Data di compilazione: 2010-02-13