Partager via


Élément <provider> (modèle)

Cette rubrique est spécifique à la technologie héritée assurant la compatibilité descendante avec des applications existantes et n'est pas recommandée en cas de nouveau développement. Les applications distribuées doivent maintenant être développées à l'aide de  Windows Communication Foundation (WCF).

Contient le modèle de 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 client ou serveur. Il existe deux hiérarchies possibles pour l'inclusion de cet élément. Cet élément peut se trouver dans le fichier de configuration de l'ordinateur et dans le fichier de configuration de l'application.

Schema Hierarchy

<configuration>
  Élément <system.runtime.remoting>
    Élément <channelSinkProviders>
      Élément <clientProviders> (instance)
        Élément <provider> (modèle)

Syntaxe

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description

id

Attribut requis.

Spécifie une chaîne qui identifie ce fournisseur de récepteur de canal. Les autres peuvent utiliser cette chaîne dans leur attribut ref pour créer une liaison vers ce fournisseur de récepteur de canal.

type

Attribut requis.

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.

customChannelSinkProperty

Attribut facultatif.

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 comme 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 en tant que ICollection du SinkProviderData dans le constructeur du fournisseur.

Éléments enfants

Aucun.

Éléments parents

Élément Description

channelSinkProviders

Contient les modèles pour les fournisseurs de récepteurs de canaux clients et serveur. Tout fournisseur de récepteur de canal spécifié sous cet élément peut être référencé à n'importe quel endroit où un fournisseur de récepteur de canal peut être inscrit.

clientProviders

Contient les fournisseurs des récepteurs de canaux qui doivent faire partie de la chaîne d'appel du récepteur de canal par défaut côté client pour ce modèle de canal lorsqu'il est fait référence au modèle à un autre endroit du fichier de configuration. Les fournisseurs spécifiés dans l'un ou l'autre des emplacements ci-dessous se substituent aux récepteurs de canaux par défaut du canal ; si vous prévoyez que l'un de ces récepteurs de canaux sera inséré dans la chaîne d'appel du récepteur de canal de ce modèle, vous devez le spécifier à cet emplacement.

configuration

Élément racine de chaque fichier de configuration utilisé par le common language runtime et les applications .NET Framework.

system.runtime.remoting

Contient des informations sur les canaux et les objets distants.

Exemple

Le fichier de configuration suivant utilise un élément d'instance <provider> pour assigner au HttpChannel le fournisseur 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" someProperty="xyz" />
                     <endpoint url="contoso.com:9001" someProperty="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>

Voir aussi

Référence

Schéma des paramètres de communication à distance

Concepts

Récepteurs et chaînes de récepteurs

Date de génération : 2010-02-13