Freigeben über


<clientProviders>-Element (Instanz)

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

<configuration>
   <system.runtime.remoting>
      <channels>
         <channel>
**            <clientProviders>**

Die hier angegebenen Provider überschreiben die Standardprovider für diesen Channel überall dort, wo auf diese Channelvorlage verwiesen wird.

<configuration>
   <system.runtime.remoting>
      <application>
         <channels>
           <channel>
**               <clientProviders>**

Hier überschreiben die Provider Standardprovider nur für diese Channelinstanz.

<clientProviders>
   <formatter/>
   <provider/>
</clientProviders>

Untergeordnete Elemente

Element Beschreibung
<formatter> Enthält einen Formatierungsempfänger, der in die Channelempfänger-Aufrufkette eingefügt werden soll. Kann im <clientProviders>-Instanzelement einmal vorkommen.
<provider> Enthält einen Channelempfänger, der in die Channelempfänger-Aufrufkette eingefügt werden soll. Kann im <clientProviders>-Instanzenelement einmal oder mehrmals vorkommen.

Hinweise

Bei der Verwendung in einem Channelvorlagenelement überschreiben alle referenzierten oder deklarierten Provider auf der gezeigten Ebene die Standardprovider des Channels und werden die Standardprovider, wenn an anderer Stelle in der Konfigurationsdatei auf den Channel verwiesen wird. Machen Sie sich klar, dass alle Standardprovider oder -formatierer für diesen Channel überschrieben werden, wenn dieses Element verwendet wird. Sollen diese Provider oder Formatierer zusätzlich zu benutzerdefinierten Providern Bestandteil dieser Channelvorlage sein, müssen Sie alle Provider angeben sowie den Formatierer, der für diesen Channel verwendet werden soll, wenn durch andere darauf verwiesen wird.

Bei der Verwendung in einer Channelinstanz überschreiben alle referenzierten oder deklarierten Provider auf der angezeigten Ebene die Standardprovider dieses Channels nur für diese Channelinstanz. Wenn diese Instanz auf eine Vorlage verweist, die clientProviders deklariert, überschreiben die hier angegebenen Provider auch jene vollständig.

Beispiel

Die folgende Konfigurationsdatei deklariert mit Hilfe eines <channels>-Vorlagenelements einen HttpChannel mit der id "httpbinary" und gibt mit Hilfe des <clientProviders>"-Vorlagenelements an, dass BinaryClientFormatterSink die Remoteaufrufe serialisiert. Anschließend fordert sie an, dass diese Clientanwendung diese spezielle Channelkonfiguration verwendet, indem sie ref="httpbinary" im <channel>-Instanzelement innerhalb des <application>-Elements angibt. Zum Schluss fügt sie mit Hilfe eines <clientProviders>-Instanzelements einen "propsetter"-Provider für Channelempfänger hinzu und übergibt einige benutzerdefinierte Konfigurationselemente, die von diesem Channelempfänger-Provider verwendet werden. Beachten Sie, dass bei Verwendung des type-Attributs zum Angeben eines Typs in einer Assembly, die sich im globalen Assemblycache befindet, vollständige Typinformationen einschließlich Version, Kultur und öffentlicher Schlüssel erforderlich sind. Diese Informationen wurden der Kürze halber in den unten stehenden type-Attributen weggelassen.

<configuration>
   <system.runtime.remoting>
      <channelSinkProviders>
         <clientProviders>
            <provider 
               id="propsetter" 
               type="ChannelSinkPropertySetterProvider, PropsSink" 
            />
         </clientProviders>
      <channels>
         <channel 
            type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting" 
            id="httpbinary"
         >
            <clientProviders>
               <formatter                   type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting"
               />
            </clientProviders>
         </channel>
      </channels>
      <application>
         <channels>
            <channel ref="httpbinary">
               <clientProviders>
                  <provider 
                     ref="propsetter" 
                     username="somename" 
                     writeToConsole="true"
                  >
                     <endpoint url="contoso.com:9000" password="xyz" />
                     <endpoint url="contoso.com:9001" password="123" />
                  </provider>
               </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 | Empfänger und Empfängerketten