<provider>-Element (Vorlage)

Dieses Thema bezieht sich auf eine veraltete Technologie, die zum Zwecke der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten wird und nicht für die neue Entwicklung empfohlen wird. Verteilte Anwendungen sollten jetzt mit  Windows Communication Foundation (WCF) entwickelt werden.

Enthält die Anbietervorlage für eine Channelsenke, die in die Server- oder Client-Channelsenkenkette eingefügt werden soll. Für den Einschluss dieses Elements sind zwei verschiedene Hierarchien möglich. Dieses Element kann in einer Anwendungskonfigurationsdatei oder einer Computerkonfigurationsdatei verwendet werden.

Schema Hierarchy

<configuration>
  <system.runtime.remoting>-Element
    <channelSinkProviders>-Element
      <clientProviders>-Element (Instanz)
        <provider>-Element (Vorlage)

Syntax

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

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Attribut Beschreibung

id

Erforderliches Attribut.

Gibt eine Zeichenfolge an, die diesen Channelsenkenanbieter identifiziert. Andere Elemente können diese Zeichenfolge in ihrem ref-Attribut verwenden, um eine Bindung zu diesem Channelsenkenanbieter herzustellen.

type

Erforderliches Attribut.

Gibt den vollständigen Typnamen des Channelsenkenanbieters und den Namen der Assembly an, die die Anbieterimplementierung enthält. Hierzu gehören die Version, die Kultur und der öffentliche Schlüssel, wenn die übergeordnete Assembly sich im globalen Assemblycache befindet.

customChannelSinkProperty

Optionales Attribut.

Gibt eine Eigenschaft für eine unterstützte benutzerdefinierte Channelsenke an. Sie können beliebig viele Eigenschaften für Anbieter und Channelsenken angeben, die von benutzerdefinierten Channelsenkenanbietern und deren Senken unterstützt werden könnten. Eine benutzerdefinierte Channelsenkeneigenschaft geben Sie mit einem Attribut-Wert-Paar an. Im folgenden Beispiel

<provider id="CustomChannelSinkProvider" type="Namespace.CustomChannelSinkProvider, CustomChannels" customChannelSinkProperty="ChannelSinkPropertyValue"/>

ist das customChannelSinkProperty -Attribut und der zugehörige Wert als IDictionary-Argument im Konstruktor des Anbieters verfügbar.

Benutzerdefinierte Daten von Senkenanbietern können hier ebenfalls angegeben werden. Es wird nur eine Knotenebene unterstützt. Im folgenden Beispiel

<provider ref="custom">
<extra data="value"/>
<extra data="AnotherValue"/>
</provider>

sind die zusätzlichen Informationen als ICollection von SinkProviderData im Konstruktor des Anbieters verfügbar.

Untergeordnete Elemente

Keines.

Übergeordnete Elemente

Element Beschreibung

channelSinkProviders

Enthält Vorlagen für Anbieter von Client- und Server-Channelsenken. Auf alle unter diesem Element angegebenen Channelsenkenanbieter kann an einer beliebigen Stelle verwiesen werden, an der ein Channelsenkenanbieter registriert sein könnte.

clientProviders

Enthält Anbieter für Channelsenken, die Bestandteil der standardmäßig verwendeten clientseitigen Channelsenken-Aufrufkette für diese Channelvorlage werden sollen, wenn an anderer Stelle in der Konfigurationsdatei auf die Vorlage verwiesen wird. Wenn Sie Anbieter an einer der unten angegebenen Positionen festlegen, werden dadurch die Standard-Channelsenken für diesen Channel überschrieben. Wenn solche Standard-Channelsenken in die Channelsenken-Aufrufkette für diese Vorlage eingefügt werden sollen, müssen Sie sie hier angeben.

configuration

Das Stammelement in jeder Konfigurationsdatei, das von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird.

system.runtime.remoting

Enthält Informationen über Remoteobjekte und Channels.

Beispiel

Die folgende Konfigurationsdatei weist mithilfe des <provider>-Instanzelements dem HttpChannel den "propsetter"-Channelsenkenanbieter und einen "null"-Channelsenkenanbieter zu, die ihrerseits mit <provider>-Vorlagenelementen deklariert wurden. Außerdem wird der "propsetter"-Channelsenkenanbieter mit den benutzerdefinierten Anbietereigenschaften erstellt, die als Attribute für das Anbieterinstanzelement und als Name-Wert-Paare für das untergeordnete <endpoint>-Attribut angegeben wurden.

<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>

Siehe auch

Verweis

Schema für Remoteeinstellungen

Konzepte

Senken und Senkenketten

Erstellungsdatum: 2010-02-13