<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:
|
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