Freigeben über


<channel>-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 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 für das id-Attribut dieses Instanz-Channelelements das ref-Attribut dieser Vorlage festlegen. Dieses Element kann in einer Anwendungskonfigurationsdatei oder einer Computerkonfigurationsdatei verwendet werden.

Schema Hierarchy

<configuration>
  <system.runtime.remoting>-Element
    <channels>-Element (Vorlage)
      <channel>-Element (Vorlage)

Syntax

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

Attribute und Elemente

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

Attribute

Attribut Beschreibung

customChannelProperty

Optionales Attribut.

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

delayLoadAsClientChannel

Optionales Attribut.

Gibt an, ob dieser Channel geladen werden soll, wenn der Client keinen Channel für die Anwendung registriert. Dies ist ein boolescher Wert, der sich nur auf das Clientverhalten auswirkt. Der Wert true gibt an, dass .NET Framework-Remoting diesen Channel zur Laufzeit dahingehend überprüfen soll, ob er eine Clientverbindung mit dem Protokollschema unterstützt, das in der Remoteaktivierungs-URL angegeben ist. Ist dieser Wert nicht vorhanden, lautet der Standardwert false.

displayName

Optionales Attribut.

Wird vom .NET Framework-Konfigurationstool zum Erstellen einer Liste von Channels verwendet, die in dieser Anwendung genutzt werden. Das .NET Framework-Remotesystem verwendet dieses Attribut nicht.

id

Erforderliches Attribut.

Stellt die Zeichenfolge bereit, mit der der Channel bei der Registrierung von den Anwendungen identifiziert wird. Um auf diese Channelvorlage zu verweisen, geben Sie dieses Attribut als den Wert des ref-Attributs im Instanz-Channelelement an.

Untergeordnete Elemente

Element Beschreibung

<serverProviders>

Enthält Senkenanbieter für Senken, die in die serverseitige Channelsenken-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 Senkenanbieter für Senken, die in die clientseitige Channelsenken-Aufrufkette eingefügt werden sollen. Werden diese angegeben, überschreiben sie die Standardeinstellungen für den Channel vollständig Kann im <channel>-Vorlagenelement einmal vorkommen.

Übergeordnete Elemente

Element Beschreibung

channels

Enthält Channelvorlagen, über die die Anwendung mit Remoteobjekten kommuniziert. Channels, die unter diesem Element deklariert werden, sind für die Verweiserstellung an jeder Stelle verfügbar, an der ein Channel registriert ist.

configuration

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

system.runtime.remoting

Gibt das Stammelement für den ASP.NET-Konfigurationsabschnitt an.

Hinweise

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

Beispiel

Die folgende Konfigurationsdatei deklariert mithilfe eines <channels>-Vorlagenelements einen HttpChannel mit der id "httpbinary", der die Remoteaufrufe mit BinaryClientFormatterSink serialisiert. Anschließend stellt sie die Anforderung, 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"-Channelsenkenanbieter hinzu und übergibt einige benutzerdefinierte Konfigurationselemente, die von diesem Channelsenkenanbieter 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" someProperty="xyz" />
                     <endpoint url="contoso.com:9001" someProperty="123" />
                  </provider>
               </clientProviders>
            </channel>
         </channels>
         <client>
            <wellknown 
               url="http://computername:80/RemoteType.rem"
               type="RemoteType, RemoteAssembly"
            />
         </client>
      </application>
   </system.runtime.remoting>
</configuration>

Siehe auch

Verweis

Schema für Remoteeinstellungen
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel

Erstellungsdatum: 2010-02-13