Elemento <channel> (modello)

Contiene il modello di canale che può essere specificato e configurato dall'applicazione per comunicare con oggetti remoti o per attendere richieste per tali oggetti. In tutte le posizioni in cui un canale può essere registrato per l'uso, è possibile impostare l'attributo id dell'elemento del canale dell'istanza in questione sull'attributo ref del modello.

Elemento <Configuration>
  Elemento <system.runtime.remoting>
    Elemento <channels> (modello)
      Elemento <channel> (modello)

<channel  
   id="channelID" 
   type="ChannelType, ChannelAssembly"
   displayName="displayName"
   customChannelProperty="customChannelValue"
   <!-- Available only to client configurations -->
   delayLoadAsClientChannel="true|false"
/>

Attributi ed elementi

Nelle sezioni riportate di seguito vengono illustrati attributi, elementi figlio ed elementi padre.

Attributi

Attributo Descrizione

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 id="CustomChannel" type="Namespace.CustomChannel, CustomChannels" customProperty="PropertyValue"/>

delayLoadAsClientChannel

Attributo facoltativo.

Indica se il canale deve essere caricato quando il client non registra un canale per l'applicazione. Si tratta di un valore booleano e influisce solo sul comportamento del client. Il valore true indica che nel sistema di gestione remota .NET Framework deve essere eseguito il test del canale in fase di esecuzione per verificare se è supportata una connessione client che utilizza lo schema di protocollo particolare specificato nell'URL di attivazione remota. L'impostazione predefinita false viene utilizzata se il valore non è presente.

displayName

Attributo facoltativo.

Viene utilizzato dallo strumento .NET Framework Configuration per la creazione di un elenco di canali utilizzati dall'applicazione. Nel sistema di gestione remota .NET Framework questo attributo non viene utilizzato.

id

Attributo obbligatorio.

Fornisce la stringa utilizzata dall'applicazione per identificare il canale in fase di registrazione. Per fare riferimento al modello di canale, specificare questo attributo come valore dell'attributo ref nell'elemento del canale dell'istanza.

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

Elementi padre

Elemento Descrizione

channels

Contiene i modelli di canale utilizzati dall'applicazione per comunicare con oggetti remoti. È possibile fare riferimento ai canali dichiarati sotto questo elemento da qualsiasi posizione in cui è registrato un canale.

configuration

È l'elemento di primo livello in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

system.runtime.remoting

Consente di specificare l'elemento radice per la sezione di configurazione ASP.NET.

Note

I modelli canali di canale possono essere contenuti nel file di configurazione del computer, nel file dell'applicazione o in qualsiasi altro file caricato chiamando RemotingConfiguration.Configure().

Esempio

Nel file di configurazione seguente viene utilizzato un elemento modello <channels> per dichiarare un canale HttpChannel con l'ID "httpbinary" che utilizza il sink BinaryClientFormatterSink per la serializzazione delle chiamate remote. Viene quindi richiesto che l'applicazione client utilizzi tale particolare configurazione di canale specificando ref="httpbinary" nell'elemento di istanza <channel> all'interno dell'elemento <application>. Viene infine aggiunto un provider di sink di canale "propsetter" e vengono passati alcuni elementi di configurazione personalizzati utilizzabili dal provider di sink di canale in questione. Si noti che per utilizzare l'attributo type per specificare un tipo in un assembly nella Global Assembly Cache è necessario fornire informazioni complete sui tipi, incluse la versione, la lingua e la chiave pubblica. Nell'esempio relativo agli attributi type riportato di seguito, tali informazioni non sono state incluse per sintesi.

<configuration>
   <system.runtime.remoting>
      <channelSinkProviders>
         <clientProviders>
            <provider 
               id="propsetter" 
               type="ChannelSinkPropertySetterProvider, PropsSink" 
            />
         </clientProviders>
      <channels>
         <channel 
            type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, ...." 
            id="httpbinary"
         >
            <clientProviders>
               <formatter                   type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, ...."
               />
            </clientProviders>
         </channel>
      </channels>
      <application>
         <channels>
            <channel ref="httpbinary">
               <clientProviders>
                  <provider 
                     ref="propsetter" 
                     username="somename" 
                     writeToConsole="true"
                  >
                     <endpoint url="contoso.com:9000" password="xyz" />
                     <endpoint url="contoso.com:9001" password="123" />
                  </provider>
               </clientProviders>
            </channel>
         </channels>
         <client>
            <wellknown 
               url="http://computername:80/RemoteType.rem"
               type="RemoteType, RemoteAssembly"
            />
         </client>
      </application>
   </system.runtime.remoting>
</configuration>

Vedere anche

Riferimenti

Schema delle impostazioni remote
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel