Élément <provider> (instance)
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 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.
<provider/>
Les fournisseurs spécifiés à cet emplacement se substituent aux fournisseurs serveurs par défaut du canal et deviennent les nouveaux fournisseurs par défaut du modèle de canal.
<provider/>
Les fournisseurs spécifiés à cet emplacement se substituent aux fournisseurs clients par défaut du canal et deviennent les nouveaux fournisseurs par défaut du modèle de canal.
<provider/>
Les fournisseurs serveurs spécifiés à cet emplacement se substituent aux fournisseurs par défaut de cette instance de canal.
<provider/>
Les fournisseurs clients spécifiés à cet emplacement se substituent aux fournisseurs 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 :
l'attribut 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 :
les informations supplémentaires seront disponibles comme 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 contenant 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é lorsqu'une instance d'application y fait référence. Lorsqu'il est spécifié sous un élément <application>, il se substitue à tous les récepteurs par défaut qui ont pu être configurés pour ce canal s'il figurait dans un modèle. Tous les autres fournisseurs que vous souhaitez insérer dans la chaîne d'appel doivent être spécifiés à cet emplacement, car l'inclusion d'un fournisseur à cet endroit remplace 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" 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>
Spécifications
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 de communication à distance
Concepts
Récepteurs et chaînes de récepteurs
Date de génération : 2010-02-13