Condividi tramite


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:

<channel 
   ref="CustomChannel" 
   port="61000"   customProperty="PropertyValue" 
/>

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

<serverProviders>

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>.

<clientProviders>

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