Condividi tramite


Elemento <provider> (modello)

Contiene il modello di provider di sink di canale per un sink di canale da inserire nella catena di sink di canale server o client. È possibile includere tale elemento in base a due ordini gerarchici.

Elemento <Configuration>
  Elemento <system.runtime.remoting>
    Elemento <channelSinkProviders>
      Elemento <clientProviders> (istanza)
        Elemento <provider> (modello)

<provider  
   id="ProviderID" 
   type="ProviderType, ProviderAssembly"    
   customChannelSinkProperty="customProperty"
/>

Attributi ed elementi

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

Attributi

Attributo Descrizione

id

Attributo obbligatorio.

Specifica una stringa che identifica il provider di sink di canale. Questa stringa può essere utilizzata nell'attributo ref di altri utenti per eseguire un'associazione al provider di sink del canale in questione.

type

Attributo obbligatorio.

Specifica il nome completo del tipo del provider di sink di canale e il nome dell'assembly contenente l'implementazione del provider. Se l'assembly che contiene il tipo si trova nella Global Assembly Cache, vengono specificate anche le informazioni relative alla versione, alla lingua e alla chiave pubblica.

customChannelSinkProperty

Attributo facoltativo.

Indica una proprietà personalizzata di sink di canale supportata. È possibile specificare un numero qualsiasi di proprietà di sink di provider e di canale in grado di essere supportate da provider di sink di canale personalizzati e dai propri sink. Una proprietà personalizzata di sink di canale verrà specificata con una coppia attributo/valore. Nell’esempio

<provider id="CustomChannelSinkProvider" type="Namespace.CustomChannelSinkProvider, CustomChannels" customChannelSinkProperty="ChannelSinkPropertyValue"/>

l'attributo customChannelSinkProperty e il relativo valore saranno disponibili come argomento IDictionary nel costruttore del provider.

È anche possibile specificare in questo ambito i dati personalizzati del provider di sink. È supportato un solo livello di nodi. Nell’esempio

<provider ref="custom">
<extra data="value"/>
<extra data="AnotherValue"/>
</provider>

le informazioni aggiuntive saranno disponibili come ICollection di SinkProviderData nel costruttore del provider.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione

channelSinkProviders

Contiene modelli per provider di sink di canale client e server. È possibile fare riferimento a qualsiasi provider di sink di canale specificato sotto questo elemento dovunque è registrato un provider di sink di canale.

clientProviders

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

È l'elemento di primo livello 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.

Esempio

Nel file di configurazione seguente viene utilizzato un elemento di istanza <provider> per assegnare al canale HttpChannel i provider di sink di canale "propsetter" e "null" che sono stati dichiarati con elementi del modello <provider>. Inoltre, il provider di sink di canale "propsetter" verrà creato con le proprietà personalizzate del provider specificate come attributi nell'elemento di istanza del provider e come coppie nome/valore dell'attributo figlio <endpoint>.

<configuration>
   <system.runtime.remoting>
      <application>
         <client>
            <wellknown 
               type="RemoteType, RemoteAssembly"
               url="http://computername:8080/RemoteType.rem"/>
         </client>
         <channels>
            <channel ref="http">
               <clientProviders>
                  <formatter ref="soap"/>
                  <provider 
                     ref="propsetter" 
                     username="bob" 
                     writeToConsole="true"
                  >
                     <endpoint url="contoso.com:9000" password="xyz" />
                     <endpoint url="contoso.com:9001" password="123" />
                  </provider>
                  <provider ref="null" writeToConsole="true" />
               </clientProviders>
            </channel>
         </channels>
      </application>
      <channelSinkProviders>
         <clientProviders>
            <provider 
               id="propsetter" 
               type="ChannelSinkPropertySetterProvider, SinkAssembly" 
            />
            <provider 
               id="null" 
               type="NullSinkProvider, SinkAssembly" 
            />
         </clientProviders>
      </channelSinkProviders>
      <debug loadTypes="true" />
   </system.runtime.remoting>
</configuration>

Vedere anche

Riferimenti

Schema delle impostazioni remote

Concetti

Sink e catene dei sink