Freigeben über


<provider>-Element (Vorlage)

Enthält die Providervorlage für einen Channelempfänger, der in die Server- oder Client-Channelempfängerkette eingefügt werden soll. Für die Einfügung dieses Elements sind zwei verschiedene Hierarchien möglich.

<configuration>
   <system.runtime.remoting>
      <channelSinkProviders>
         <clientProviders>
            <provider>

Auf die hier angegebenen Provider kann zur Verwendung durch <provider>-Instanzen verwiesen werden.

<configuration>
   <system.runtime.remoting>
      <channelSinkProviders>
         <serverProviders>
            <provider>

Auf die hier angegebenen Provider kann ebenfalls zur Verwendung durch <provider>-Instanzen verwiesen werden.

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

Optionale Attribute

Attribut Beschreibung
customChannelSinkProperty Gibt eine Eigenschaft für einen unterstützten benutzerdefinierten Channelempfänger an. Sie können beliebig viele Eigenschaften für Provider und Channelempfänger angeben, die von benutzerdefinierten Channelempfänger-Providern und deren Empfängern unterstützt werden könnten. Eine benutzerdefinierte Channelempfänger-Eigenschaft geben Sie mit einem Attribut-Wert-Paar an. Im folgenden Beispiel
<provider id="CustomChannelSinkProvider" type="Namespace.CustomChannelSinkProvider, CustomChannels" customChannelSinkProperty="ChannelSinkPropertyValue"/>

sind das customChannelSinkProperty-Attribut und sein Wert als IDictionary-Argument im Konstruktor des Providers verfügbar.

Außerdem können hier benutzerdefinierte Empfängerprovider-Daten 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 Providers verfügbar.

Erforderliche Attribute

Attribut Beschreibung
id Gibt eine Zeichenfolge an, die diesen Channelempfänger-Provider identifiziert. Andere Elemente können diese Zeichenfolge in ihrem ref-Attribut verwenden, um eine Bindung zu diesem Channelempfänger-Provider herzustellen.
type Gibt den vollständigen Typnamen des Channelempfä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.

Beispiel

Die folgende Konfigurationsdatei weist mit Hilfe des <provider>-Instanzelements dem HttpChannel die "propsetter"- und "null"-Channelempfänger-Provider zu, die ihrerseits mit <provider>-Vorlagenelementen deklariert wurden. Außerdem wird der "propsetter"-Channelempfänger-Provider mit den benutzerdefinierten Providereigenschaften erstellt, die als Attribute für das Provider-Instanzelement 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" 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>

Anforderungen

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

Siehe auch

Schema für Remoteeinstellungen | Empfänger und Empfängerketten