Freigeben über


<channel>-Element (Vorlage)

Enthält die Channelvorlage, die die Anwendung angeben und konfigurieren kann, um mit Remoteobjekten zu kommunizieren oder Anforderungen für Remoteobjekte zu überwachen. An jeder Stelle, an der ein Channel für die Verwendung registriert werden kann, können Sie das id-Attribut dieses Instanz-Channelelements auf das ref-Attribut dieser Vorlage setzen.

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

<channel 
   id="channelID"    type="ChannelType, ChannelAssembly"   displayName="displayName"   customChannelProperty="customChannelValue"   <!-- Available only to client configurations -->   delayLoadAsClientChannel="true|false"/>

Erforderliche Attribute

Attribut Beschreibung
id Stellt die Zeichenfolge bereit, anhand derer die Anwendungen den Channel bei der Registrierung identifizieren. Um auf diese Channelvorlage zu verweisen, geben Sie dieses Attribut als den Wert des ref-Attributs im Instanz-Channelelement an.
type Gibt den vollständigen Typnamen des Objekts und den Namen der Assembly an, die die Klassenimplementierung enthält. Hierzu gehören die Version, die Kultur und der öffentliche Schlüssel, wenn die übergeordnete Assembly sich im globalen Assemblycache befindet.

Optionale Attribute

Attribut Beschreibung
displayName Wird vom .NET Framework-Konfigurationstool zum Erstellen einer Liste von Channels verwendet, die in dieser Anwendung genutzt werden. Das .NET Remoting-System verwendet dieses Attribut nicht.
delayLoadAsClientChannel Gibt an, ob dieser Channel geladen werden soll, wenn der Client keinen Channel für die Anwendung registriert. Dies ist ein Boolean-Wert, der sich nur auf das Clientverhalten auswirkt. Der Wert true gibt an, dass .NET Remoting diesen Channel zur Laufzeit dahin gehend überprüfen soll, ob er eine Clientverbindung mit dem Protokollschema unterstützt, das im Remoteaktivierungs-URL angegeben wird. Ist dieser Wert nicht vorhanden, lautet der Standardwert false.
<customChannelProperty> Gibt eine Eigenschaft für einen unterstützten benutzerdefinierten Channel an. Sie können eine beliebige Anzahl an Channeleigenschaften angeben, die von Channels unterstützt werden können. Eine benutzerdefinierte Channeleigenschaft geben Sie mit einem Attribut-Wert-Paar an. Beispiel:
<channel id="CustomChannel" type="Namespace.CustomChannel, CustomChannels" customProperty="PropertyValue"/>

Untergeordnete Elemente

Element Beschreibung
<serverProviders> Enthält Empfängerprovider für Empfänger, die in die serverseitige Channelempfänger-Aufrufkette eingefügt werden sollen. Werden diese angegeben, überschreiben sie die Standardeinstellungen für den Channel vollständig Kann im <channel>-Vorlagenelement einmal vorkommen.
<clientProviders> Enthält Empfängerprovider für Empfänger, die in die clientseitige Channelempfänger-Aufrufkette eingefügt werden sollen. Werden diese angegeben, überschreiben sie die Standardeinstellungen für den Channel vollständig Kann im <channel>-Vorlagenelement einmal vorkommen.

Hinweise

Channelvorlagen können in der Computerkonfigurationsdatei, der Anwendungskonfigurationsdatei oder jeder anderen Datei vorkommen, die durch Aufrufen von RemotingConfiguration.Configure() geladen wird.

Beispiel

Die folgende Konfigurationsdatei deklariert mit Hilfe eines <channels>-Vorlagenelements einen HttpChannel mit der id "httpbinary", der mit Hilfe des BinaryClientFormatterSink-Empfängers 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 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 | HttpChannel | HttpClientChannel | HttpServerChannel | TcpChannel | TcpClientChannel | TcpServerChannel