Sdílet prostřednictvím


<provider>-Element (Instanz)

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

<configuration>

   <system.runtime.remoting>

      <channels>

         <channel>

            <serverProviders>

               <provider/>

Hier überschreibt ein Anbieter den Standardserveranbieter für diesen Channel und wird zum neuen Standardanbieter für diese Channelvorlage.

<configuration>

   <system.runtime.remoting>

      <channels>

         <channel>

            <clientProviders>

               <provider/>

Hier überschreibt ein Anbieter den Standardclientanbieter für diesen Channel und wird zum neuen Standardanbieter für diese Channelvorlage.

<configuration>

   <system.runtime.remoting>

      <application>

         <channels>

            <channel>

               <serverProviders>

                  <provider/>

Hier überschreibt ein Serveranbieter den Standardanbieter für diese Channelinstanz.

<configuration>

   <system.runtime.remoting>

      <application>

         <channels>

            <channel>

               <clientProviders>

                  <provider/>

Hier überschreibt ein Clientanbieter den Standardanbieter für diese Channelinstanz.

<provider 
    ref="ProviderTemplateReference"
   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 Anbieter und Channelempfänger angeben, die von benutzerdefinierten Channelempfängeranbietern und deren Empfängern unterstützt werden könnten. Eine benutzerdefinierte Channelempfängereigenschaft 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.

Außerdem können hier benutzerdefinierte Daten von Empfängeranbietern 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.

Erforderliche Attribute

Attribut Beschreibung

type

Gibt den vollständigen Typnamen des Channelempfängeranbieters 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. Dieses Attribut ist nur erforderlich, wenn Sie kein ref-Attribut verwenden.

ref

Gibt die ID der Vorlage für den Channelempfängeranbieter für den Channelempfänger an, 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 andere Anbietervorlage verweisen, indem Sie den id-Wert dieser Vorlage für das ref-Attribut dieser Instanz bereitstellen. Durch die Angabe von Anbietern werden alle Standardanbieter überschrieben. Wenn im Verlauf der Channelempfänger-Aufrufkette andere Anbieter aufgerufen werden sollen, müssen Sie diese hier angeben.

Instanzen des <provider>-Elements können an vier Stellen auftreten. Unter einem <channel>-Vorlagenelement (entweder im <serverProviders>-Element oder im <clientProviders>-Element) gibt dieses Element einen Anbieter an, der Standard-Empfängeranbieter für den betreffenden Channel wird, wenn durch eine Anwendungsinstanz darauf verwiesen wird. Unter einem <application>-Element überschreibt das Element alle Standardempfänger, die für diesen Channel konfiguriert worden sein könnten, wenn er sich in einer Vorlage befinden würde. Alle anderen Anbieter, die in der Aufrufkette vorhanden sein sollen, müssen Sie hier angeben, da dadurch alle Standardwerte, die in irgendeiner Vorlage festgelegt sind, überschrieben werden.

Beispiel

Die folgende Konfigurationsdatei weist HttpChannel mithilfe des <provider>-Instanzelements den "propsetter"-Channelempfängeranbieter und den "null"-Channelempfängeranbieter zu, die ihrerseits mit <provider>-Vorlagenelementen deklariert wurden. Außerdem wird der "propsetter"-Channelempfängeranbieter 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>

Voraussetzungen

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

Siehe auch

Referenz

Schema für Remoteeinstellungen

Konzepte

Empfänger und Empfängerketten

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.