<formatter>, élément (modèle)
Contient le fournisseur de récepteur de canal du récepteur de formateur 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.
<formatter>
Un fournisseur de formateur spécifié à cet emplacement devient un modèle à utiliser par les instances <formatter>.
<formatter>
Un fournisseur de formateur spécifié à cet emplacement devient également un modèle à utiliser par les instances <formatter>.
<formatter
id="FormatterID"
type="FormatterSinkProviderType, FormatterAssembly"
customFormatterProperty="customProperty"
includeVersions="true"
strictBinding="false"
...typeFilterLevel="Low | Full"
/>
Attributs facultatifs
Attribut | Description |
---|---|
customFormatterProperty |
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. |
includeVersions |
Indique qu'un formateur d'envoi inclut des informations complètes de version d'assembly et de type lors de la sérialisation des informations de type. Pour les informations importantes, consultez la section Notes ci-dessous. La valeur par défaut pour les deux formateurs fournis par le système est true. |
strictBinding |
Indique qu'un formateur de réception essaiera d'abord d'identifier le type à l'aide des informations de version complètes si elles existent avant d'utiliser uniquement le nom du type et de l'assembly sans les informations de version. Pour les informations importantes, consultez la section Notes ci-dessous. La valeur par défaut pour les deux formateurs fournis par le système est false. |
typeFilterLevel |
Valeur de chaîne spécifiant le niveau de désérialisation automatique que tente un formateur dans la chaîne de récepteurs de canal serveur. Les valeurs prises en charge sont Low (valeur par défaut) et Full. Pour plus d'informations sur les niveaux de désérialisation, consultez Désérialisation automatique dans .NET Remoting. Cette propriété n'est prise en charge que dans le .NET Framework version 1.1 sur les plates-formes suivantes : Windows 98, Windows NT 4.0, Windows Millennium, Windows 2000, Windows XP Édition Familiale, Windows XP Professionnel et la famille Windows Server 2003. |
Attributs requis
Attribut | Description |
---|---|
id |
Spécifie une chaîne qui identifie ce fournisseur de récepteur de formateur. Les autres peuvent utiliser cette chaîne dans leur attribut ref pour créer une liaison vers ce fournisseur de récepteur de formateur. |
type |
Spécifie le nom complet du type du fournisseur de récepteur de formateur 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. |
Notes
Un formateur spécifié à cet emplacement peut être référencé par un élément d'instance <formatter> à tout autre endroit du fichier de configuration ou d'un fichier de configuration chargé par la même application.
Le tableau suivant décrit l'interaction entre les attributs includeVersions et strictBinding lorsqu'ils apparaissent ensemble.
includeVersions (formateur d'envoi) | strictBinding (formateur de réception) | Mode de chargement du type |
---|---|---|
true |
true |
Le type exact est chargé ou une exception TypeLoadException est levée. |
false |
true |
Le type est chargé à l'aide uniquement du nom du type et du nom de l'assembly ou une exception TypeLoadException est levée. |
true |
false |
Le type exact est chargé s'il est présent ; dans le cas contraire, le type est chargé à l'aide uniquement du nom du type et du nom de l'assembly. En cas d'échec, une exception TypeLoadException est levée. |
false |
false |
Le type est chargé à l'aide uniquement du nom du type et du nom de l'assembly ou une exception TypeLoadException est levée. |
Exemple
Comme le fichier de configuration suivant utilise les instances <clientProviders>, vous devez spécifier tous les formateurs et fournisseurs qui doivent être utilisés par le canal. Dans ce cas, l'élément <formatter> fait référence au SoapClientFormatterSink et 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
BinaryClientFormatterSink
SoapClientFormatterSink
BinaryServerFormatterSink
SoapServerFormatterSink