Condividi tramite


Elemento <clientProviders> (istanza)

Contiene i provider per i sink di canale che devono diventare parte della catena di chiamate di sink di canale sul lato client predefinita per il modello di canale quando si fa riferimento a tale modello in altri punti del file di configurazione. Se vengono specificati provider, viene eseguito l'override dei sink di canale predefiniti per il canale. Se si desidera inserire tali sink di canale predefiniti nella catena di chiamate di sink di canale per il modello, è necessario specificare anche tali sink.

<configuration>

<system.runtime.remoting>

<channels>

<channel>

<clientProviders>

I provider specificati eseguono l'override dei provider predefiniti del canale ovunque venga fatto riferimento a tale modello di canale.

<configuration>

<system.runtime.remoting>

<application>

<channels>

<channel>

<clientProviders>

I provider specificati eseguono l'override dei provider predefiniti solo per questa istanza di canale.

<clientProviders> 
      <formatter/> 
      <provider/> 
</clientProviders>

Elementi figlio

Elemento Descrizione

<formatter>

Contiene un sink del formattatore da inserire nella catena di chiamate di sink di canale. Può essere presente una sola volta nell’elemento di istanza <clientProviders>.

<provider>

Contiene un sink di canale da inserire nella catena di chiamate di sink di canale. Può essere presente una o più volte nell'elemento di istanza <clientProviders>.

Osservazioni

Se utilizzato in un elemento modello del canale, i provider a cui viene fatto riferimento o quelli dichiarati al livello indicato eseguiranno l'override dei provider predefiniti sostituendosi a essi se viene fatto riferimento al canale in qualche punto del file di configurazione. È importante comprendere che l'uso di tale elemento implica l'esecuzione dell'override di tutti i provider o i formattatori predefiniti per il canale. Se si desidera che tali provider o formattatori facciano parte del modello di canale oltre a eventuali provider personalizzati, è necessario specificare tutti i provider e il formattatore che si desidera utilizzare con il canale quando altri vi fanno riferimento.

Se utilizzato in un'istanza del canale, i provider a cui viene fatto riferimento o quelli dichiarati al livello mostrato eseguiranno l'override dei provider predefiniti del canale solo per questa istanza del canale. Se l'istanza fa riferimento a un modello che dichiara clientProviders, i provider qui indicati eseguiranno l'override completo dei primi.

Esempio

Nel file di configurazione seguente viene utilizzato un elemento modello <channels> per dichiarare un canale HttpChannel con l'id "httpbinary" e viene utilizzato l'elemento modello <clientProviders> per specificare 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 utilizzato un elemento di istanza <clientProviders> per aggiungere un provider di sink di canale "propsetter" e vengono passati alcuni elementi di configurazione personalizzati che verranno utilizzati dal provider di sink di canale in questione. Si noti che per utilizzare l'attributo type per specificare un tipo in un assembly nella cache di assembly globale è necessario fornire informazioni complete sui tipi, incluse la versione, le impostazioni cultura 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" someProp="xyz" />
                     <endpoint url="contoso.com:9001" someProp="123" />
                  </provider>
               </clientProviders>
            </channel>
         </channels>
         <client>
            <wellknown 
               url="http://computername:80/RemoteType.rem"                type="RemoteType, RemoteAssembly"
            />
         </client>
      </application>
   </system.runtime.remoting>
</configuration>

Requisiti

File di configurazione: file di configurazione dell'applicazione, file di configurazione del computer (Machine.config)

Vedere anche

Riferimenti

Schema delle impostazioni remote

Concetti

Sink e catene di sink

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.