Partager via


<provider>, élément (instance)

Contient le fournisseur de récepteur de canal du récepteur de canal qui doit être inséré dans la chaîne du récepteur de canal.

<configuration>

<system.runtime.remoting>

<channels>

<channel>

<serverProviders>

<provider/>

Un fournisseur spécifié à cet emplacement se substitue au fournisseur serveur par défaut du canal et devient le nouveau fournisseur par défaut du modèle de canal.

<configuration>

<system.runtime.remoting>

<channels>

<channel>

<clientProviders>

<provider/>

Un fournisseur spécifié à cet emplacement se substitue au fournisseur client par défaut du canal et devient le nouveau fournisseur par défaut du modèle de canal.

<configuration>

<system.runtime.remoting>

<application>

<channels>

<channel>

<serverProviders>

<provider/>

Un fournisseur serveur spécifié à cet emplacement se substitue au fournisseur par défaut de cette instance de canal.

<configuration>

<system.runtime.remoting>

<application>

<channels>

<channel>

<clientProviders>

<provider/>

Un fournisseur client spécifié à cet emplacement se substitue au fournisseur par défaut de cette instance de canal.

<provider 
   ref="ProviderTemplateReference"
   type="ProviderType, ProviderAssembly"
   customChannelSinkProperty="customProperty"
/>

Attributs facultatifs

Attribut Description

customChannelSinkProperty

Indique une propriété de récepteur de canal personnalisé prise en charge. Vous pouvez spécifier autant de propriétés de fournisseur et de récepteur de canal que les fournisseurs de récepteurs de canaux personnalisés et leurs récepteurs peuvent en accepter. Une propriété de récepteur de canal personnalisé est spécifiée à l'aide d'une paire attribut/valeur. Dans l'exemple :

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

l'attribut customChannelSinkProperty et sa valeur seront disponibles en tant qu'argument IDictionary dans le constructeur du fournisseur.

Les données d'un fournisseur de canal personnalisé peuvent également être spécifiées à cet emplacement. Un seul niveau de nœuds est pris en charge. Dans l'exemple :

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

les informations supplémentaires seront disponibles comme un ICollection du SinkProviderData dans le constructeur du fournisseur.

Attributs requis

Attribut Description

type

Spécifie le nom complet du type du fournisseur de récepteur de canal et le nom de l'assembly qui contient l'implémentation du fournisseur. Cela inclut les informations de version, de culture et de clé publique si l'assembly conteneur se trouve dans le Global Assembly Cache. Cet attribut n'est obligatoire que si vous n'utilisez pas d'attribut ref.

ref

Spécifie l'ID du modèle de fournisseur de récepteur de canal correspondant au récepteur de canal que votre client prévoit d'inscrire en vue de son utilisation. Si vous spécifiez l'attribut ref, il est inutile de définir l'attribut type.

Notes

Vous pouvez faire référence à un autre modèle de fournisseur en utilisant la valeur id de ce modèle comme valeur de l'attribut ref de cette instance. Les fournisseurs spécifiés à cet emplacement se substituent aux fournisseurs par défaut ; si d'autres fournisseurs doivent être appelés dans le cadre de la chaîne d'appel de récepteur de canal, vous devez les spécifier à cet emplacement.

Les instances de l'élément <provider> peuvent apparaître à quatre emplacements. Lorsqu'il est spécifié sous un élément de modèle <channel> (dans l'un des deux éléments <serverProviders> ou <clientProviders>), cet élément spécifie un fournisseur qui devient le fournisseur de récepteur par défaut pour ce canal donné quand une instance d'application fait référence à celui-ci. Quand il est spécifié sous un élément <application>, il se substitue à tout récepteur par défaut qui a pu être configuré pour ce canal s'il figurait dans un modèle. Tout autre fournisseur que vous souhaitez insérer dans la chaîne d'appel doit être spécifié à cet emplacement, car l'inclusion d'un fournisseur à cet endroit substitue le fournisseur par défaut défini dans le modèle.

Exemple

Le fichier de configuration suivant utilise un élément d'instance <provider> pour assigner au HttpChannel les fournisseurs de récepteurs de canaux « propsetter » et « null » qui ont eux-mêmes été déclarés avec les éléments de modèle <provider>. De plus, le fournisseur de récepteur de canal « propsetter » est créé avec les propriétés du fournisseur personnalisé spécifiées comme attributs sur l'élément d'instance du fournisseur et comme paires nom/valeur de l'attribut enfant <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>

Configuration requise

Fichiers de configuration : fichier de configuration de l'application, fichier de configuration machine (Machine.config)

Voir aussi

Référence

Schéma des paramètres d'accès distant

Concepts

Récepteurs et chaînes de récepteurs