<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.
<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.
<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.
<provider/>
Un fournisseur serveur spécifié à cet emplacement se substitue au fournisseur par défaut de cette instance de canal.
<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 :
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 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