Freigeben über


<formatter>-Element (Instanz)

Enthält den Channelempfänger-Provider für einen Formatierungsempfänger, der in die Channelempfängerkette eingefügt werden soll.

<configuration>
   <system.runtime.remoting>
      <channels>
         <channel>
            <serverProviders>
               <formatter/>

Hier überschreibt ein Formatierungsprogramm die standardmäßige Channelempfängerkette für diesen Channel und wird zum neuen Standard für diese Channelvorlage.

<configuration>
   <system.runtime.remoting>
      <channels>
         <channel>
            <clientProviders>
               <formatter/>

Hier überschreibt ein Formatierungsprogramm die standardmäßige Channelempfängerkette für diesen Channel und wird zum neuen Standard für diese Channelvorlage.

<configuration>
   <system.runtime.remoting>
      <application>
         <channels>
            <channel>
               <serverProviders>
                  <formatter/>

Hier überschreibt ein Formatierungsprogramm die standardmäßige Channelempfängerkette für diese Channelinstanz.

<configuration>
   <system.runtime.remoting>
      <application>
         <channels>
            <channel>
               <clientProviders>
                  <formatter/>

Hier überschreibt ein Formatierungsprogramm die standardmäßige Channelempfängerkette für diese Channelinstanz.

<formatter
   ref="FormatterReference"   type="FormatterSinkProviderType, FormatterAssembly"   customFormatterProperty="customProperty"   includeVersions="true"   strictBinding="false"...typeFilterLevel="Low | High"/>

Optionale Attribute

Attribut Beschreibung
customFormatterProperty Gibt eine Eigenschaft für einen unterstützten benutzerdefinierten Formatierer an. Sie können eine beliebige Anzahl an Formatierereigenschaften angeben, die von benutzerdefinierten Formatierern unterstützt werden können. Eine benutzerdefinierte Formatierereigenschaft geben Sie mit einem Attribut-Wert-Paar an. Beispiel:
<formatter id="CustomFormatterSinkProvider" type="Namespace.CustomFormatterSinkProvider, CustomFormatters" customFormatterProperty="FormatterPropertyValue"/>
includeVersions Gibt an, dass ein sendendes Formatierungsprogramm beim Serialisieren der Typinformationen vollständige Typ- und Assemblyversionsinformationen enthält. Wichtige Einzelheiten finden Sie im Abschnitt "Hinweise" weiter unten. Die Standardeinstellung für beide vom System bereitgestellten Formatierungsprogramme lautet true.
strictBinding Gibt an, das ein empfangendes Formatierungsprogramm zuerst versucht, den Typ anhand der vollständigen Versionsinformationen zu identifizieren, sofern diese vorhanden sind, bevor es nur den Typ- und den Assemblynamen ohne die Versionsinformationen verwendet. Wichtige Einzelheiten finden Sie im Abschnitt "Hinweise" weiter unten. Die Standardeinstellung für beide vom System bereitgestellten Formatierungsprogramme lautet false.
typeFilterLevel Ein Zeichenfolgenwert, der die Ebene der automatischen Deserialisierung angibt, die ein Formatierer in der Serverchannel-Empfängerkette versucht. Unterstützte Werte sind Low (der Standardwert) und Full. Weitere Informationen über Deserialisierungsebenen finden Sie unter "Automatische Deserialisierung in .NET Remoting".

Diese Eigenschaft wird nur von Version 1.1 von .NET Framework für die folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Millenium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional und die Windows Server 2003-Familie.

Erforderliche Attribute

Attribut Beschreibung
type Gibt den vollständigen Typnamen des Formatierungsempfänger-Providers und den Namen der Assembly an, die die Providerimplementierung enthält. Hierzu gehören die Version, die Kultur und der öffentliche Schlüssel, wenn die übergeordnete Assembly sich im globalen Assemblycache befindet. Dieses Attribut ist nur erforderlich, wenn Sie kein ref-Attribut verwenden.
ref Gibt die ID der Vorlage für den Formatierungsempfänger-Provider für den Formatierer, den der Client zur Verwendung registrieren wird. Wenn Sie ein ref-Attribut angeben, müssen Sie kein type-Attribut festlegen.

Hinweise

Sie können auf eine Providervorlage verweisen, indem Sie den id-Wert dieser Vorlage als ref-Wert dieser Instanz verwenden. Auch wenn beliebig viele Vorlagen deklariert werden können, kann nur ein Formatierungsempfänger in einer Channelempfänger-Aufrufkette vorhanden sein.

Das <formatter>-Instanzelement kann an vier Stellen auftreten. Wird es unter einem <channel>-Vorlagenelement angegeben (entweder im <serverProvider>- oder im <clientProvider>-Element), gibt dieses Element einen Formatierer an, der jeden Standard-Channelformatierer überschreibt und der Standard-Formatierungsempfänger für den betreffenden Channel wird, wenn durch eine Anwendungs-<channel>-Instanz auf den Channel verwiesen wird. Wird das Element unter einem <application>-Element angegeben, überschreibt es alle Formatierungsempfänger, die in der aktuellen Channelinstanz oder -vorlage deklariert worden sein könnten.

Die folgende Tabelle zeigt die Interaktion zwischen dem includeVersions- und dem strictBinding-Attribut, wenn diese zusammen vorkommen.

includeVersions (sendendes Formatierungsprogramm) strictBinding (empfangendes Formatierungsprogramm) Wie wird der Typ geladen
true true Der exakte Typ wird geladen, oder eine TypeLoadException-Ausnahme wird ausgelöst.
false true Der Typ wird nur anhand des Typ- und des Assemblynamens geladen, oder eine TypeLoadException-Ausnahme wird ausgelöst.
true false Der exakte Typ wird geladen, falls vorhanden. Andernfalls wird der Typ nur anhand des Typ- und des Assemblynamens geladen. Wenn dies fehlschlägt, wird eine TypeLoadException-Ausnahme ausgelöst.
false false Der Typ wird nur anhand des Typ- und des Assemblynamens geladen, oder eine TypeLoadException-Ausnahme wird ausgelöst.

Beispiel

Die folgende Konfigurationsdatei deklariert eine <channel>-Instanz, die mit Hilfe des <formatter>-Instanzelements angibt, dass der Standard-BinaryClientFormatterSinkProvider binäre Serialisierung für den HttpChannel verwenden soll.

<configuration>
   <system.runtime.remoting>
      <application>
         <channels>
            <channel ref="http">
               <clientProviders>
                  <formatter ref="binary"/>
               </clientProviders>
            </channel>
         </channels>
         <client>
            <wellknown 
               url="http://computername:80/RemoteType.rem" 
               type="RemoteType, RemoteAssembly"
            />
         </client>
      </application>
   </system.runtime.remoting>
</configuration>

Anforderungen

Konfigurationsdateien: Anwendungskonfigurationsdatei, Konfigurationsdatei für den Computer (Machine.config)

Siehe auch

Schema für Remoteeinstellungen | BinaryClientFormatterSink | SoapClientFormatterSink | BinaryServerFormatterSink | SoapServerFormatterSink