Freigeben über


Konfigurationseigenschaften für Channel und Formatierungsprogramme

In diesem Thema werden alle Konfigurationseigenschaften aufgelistet und erläutert, die Sie für die IChannel-Implementierungen im .NET Remoting-System festlegen können. Alle Werte werden bei Deklaration in der Konfigurationsdatei als Zeichenfolgen dargestellt. Wenn aber die IDictionary-Eigenschaft programmgesteuert erstellt wird, können ganzzahlige Werte als ganze Zahlen (ohne Anführungszeichen) oder als Zeichenfolgen (Werte in Anführungszeichen) und boolesche Werte als boolesche Werte angegeben werden. Alle anderen Werte werden als Zeichenfolgen angegeben.

Weitere Informationen zum Konfigurieren eines Channels in einer Konfigurationsdatei in einem <channel>-Element finden Sie unter Gewusst wie: Konfigurieren eines Channels in einer Konfigurationsdatei. Weitere Informationen zum programmgesteuerten Konfigurieren eines Channels finden Sie unter Gewusst wie: Programmgesteuertes Konfigurieren eines Channels.

In der folgenden Tabelle sind Channeltypen sowie die von ihnen unterstützten Eigenschaften aufgeführt.

Typ Unterstützte Eigenschaften

HttpChannel

allowAutoRedirect

bindTo

clientConnectionLimit

connectionGroupName

credentials

exclusiveAddressUse

listen

machineName

name

port

priority

proxyName

proxyPort

servicePrincipalName

suppressChannelData

timeout

unsafeAuthenticatedConnectionSharing

useAuthenticatedConnectionSharing

useDefaultCredentials

useIpAddress

HttpClientChannel

allowAutoRedirect

clientConnectionLimit

connectionGroupName

credentials

domain

machineName

name

password

priority

proxyName

proxyPort

servicePrincipalName

timeout

unsafeAuthenticatedConnectionSharing

useAuthenticatedConnectionSharing

useDefaultCredentials

username

HttpServerChannel

bindTo

exclusiveAddressUse

listen

machineName

name

port

priority

suppressChannelData

useIpAddress

TcpChannel

authorizationModule

bindTo

exclusiveAddressUse

impersonate

machineName

name

port

priority

rejectRemoteRequests

secure

servicePrincipalName

suppressChannelData

timeout

tokenImpersonationLevel

useIpAddress

TcpClientChannel

domain

machineName

name

password

priority

protectionLevel

retryCount

secure

servicePrincipalName

socketCachePolicy

socketCacheTimeout

timeout

tokenImpersonationLevel

username

TcpServerChannel

authorizationModule

bindTo

exclusiveAddressUse

impersonate

machineName

name

port

priority

protectionLevel

rejectRemoteRequests#

secure

suppressChannelData

useIpAddress

IpcChannel

authorizedGroup

connectionTimeout

name

portName

priority

secure

suppressChannelData

IpcClientChannel

connectionTimeout

name

priority

secure

IpcServerChannel

authorizedGroup

name

portName

priority

secure

suppressChannelData

In der folgenden Tabelle werden die allgemeinen Channeleigenschaften beschrieben und die von ihnen unterstützten Channeltypen aufgeführt.

Eigenschaft Beschreibung Typen, die diese Eigenschaft unterstützen

name

Eine Zeichenfolge, die den Namen dieses Channels angibt. Wenn Sie keinen Namen angeben, wird ein Standardname verwendet, der vom Typ abhängt:

HttpChannel: "http"

HttpClientChannel: "http client"

HttpServerChannel: "http server"

TcpChannel: "tcp"

TcpClientChannel: "tcp client"

TcpServerChannel: "tcp server"

IpcChannel: "ipc"

IpcClientChannel: "ipc client"

IpcServerChannel: "ipc server"

Jeder Channel muss über einen eindeutigen Bezeichner verfügen. Wenn Sie Namen ignorieren, jedoch Namenskonflikte vermeiden möchten, legen Sie für diese Eigenschaft eine leere Zeichenfolge ("" oder String.Empty) fest. Das System lässt beliebig viele Channels zu, bei denen für name der Wert String.Empty festgelegt wurde. Diese Eigenschaft wird verwendet, um einen bestimmten Channel beim Aufrufen von ChannelServices.GetChannel() abzurufen. Details finden Sie unter Channel.

HttpChannel

HttpServerChannel

HttpClientChannel

TcpChannel

TcpClientChannel

TcpServerChannel

IpcChannel

IpcClientChannel

IpcServerChannel

machineName

Eine Zeichenfolge, die den für diesen Channel verwendeten Computernamen angibt. Bei Verwendung mit einem Serverchannel wird useIpAddress außer Kraft gesetzt.

Hinweis

Es empfiehlt sich generell, den DNS-Namen (Domain Name System) des Computers zu verwenden. Wenn jedoch die IP-Adresse für eine bestimmte Netzwerkschnittstellenkarte (Network Interface Card, NIC), wobei es sich in der Regel um eine drahtlose NIC handelt, häufig geändert wird, müssen Sie die Anwendung so konfigurieren, dass machineName verwendet wird und Remoting den Computer über DNS finden kann. Wenn der Computername nur äußerst langsam bzw. überhaupt nicht aufgelöst wird und der Computer über mehrere physische oder virtuelle NICs verfügt (dies ist häufig bei DFÜ-Verbindungen oder VPN-Netzwerkkarten der Fall), sollten Sie für die machineName-Eigenschaft die IP-Adresse der NIC festlegen, die derzeit für diese Verbindung verwendet wird.

HttpChannel

HttpClientChannel

HttpServerChannel

TcpChannel

TcpClientChannel

TcpServerChannel

priority

Eine ganze Zahl, die die Priorität des Channels darstellt. Je höher die Zahl ist, desto höher ist die Wahrscheinlichkeit, für die Verbindung ausgewählt zu werden. Die Standardpriorität ist 1, wobei negative Zahlen zulässig sind.

HttpChannel

HttpServerChannel

HttpClientChannel

TcpChannel

TcpClientChannel

TcpServerChannel

IpcChannel

IpcClientChannel

IpcServerChannel

secure (TcpChannel)

Ein boolescher Wert (true oder false), der angibt, ob die Kommunikation auf dem Channel sicher ist. Der Standardwert ist false. Wurde der Wert auf true festgelegt, wird die tokenImpersonationLevel-Eigenschaft auf Identification und die protectionLevel-Eigenschaft auf EncryptAndSign festgelegt. Beachten Sie, dass ein sicherer TcpClientChannel nur mit einem sicheren TcpServerChannel und ein nicht sicherer TcpClientChannel nur mit einem nicht sicheren TcpServerChannel eine Verbindung herstellen kann.

Hinweis

Wenn auf dem Servercomputer Windows 95, Windows 98 oder Windows Me ausgeführt wird, kann TcpServerChannel nicht als sicher angegeben werden.

TcpChannel

TcpClientChannel

TcpServerChannel

secure (IpcChannel)

Ein boolescher Wert (true oder false), der angibt, ob die Kommunikation auf dem Channel sicher ist. Der Standardwert ist false. Wurde der Wert auf true festgelegt, wird die tokenImpersonationLevel-Eigenschaft auf Identification festgelegt. Beachten Sie, dass sich ein sicherer IpcClientChannel nur mit einem sicheren IcpServerChannel und ein nicht sicherer IpcClientChannel nur mit einem nicht sicheren IpcServerChannel eine Verbindung herstellen kann.

IpcChannel

IpcClientChannel

IpcServerChannel

protectionLevel

Ein Wert vom Typ ProtectionLevel. Der Standardwert ist None. Wenn die secure-Eigenschaft auf true festgelegt wurde, lautet der Standardwert EncryptAndSign. Sie müssen die secure-Eigenschaft auf true festlegen, um die ProtectionLevel-Eigenschaft auf einen anderen Wert als None festzulegen.

Beachten Sie, dass None die einzige Einstellung ist, die mit Windows 95, Windows 98 oder Windows Me kompatibel ist.

TcpClientChannel

TcpServerChannel

In der folgenden Tabelle werden die Clientchanneleigenschaften aufgeführt, die angegeben werden können.

Eigenschaft Beschreibung Typen, die diese Eigenschaft unterstützen

clientConnectionLimit

Eine ganze Zahl, die angibt, wie viele offene Verbindungen mit einem bestimmten Server gleichzeitig bestehen dürfen. Der Standardwert ist 2.

HttpChannel

HttpClientChannel

proxyName

Eine Zeichenfolge, die den Namen angibt, der vom Proxyclient für Aufrufe an den Remoteserver verwendet wird. Standardmäßig wird der Hostname des Clientcomputers verwendet.

HttpChannel

HttpClientChannel

proxyPort

Eine ganze Zahl, die die Portnummer angibt, die vom Proxyclient für Aufrufe an den Remoteserver verwendet wird. Standardmäßig wird ein verfügbarer, nicht privilegierter Port zur Laufzeit ausgewählt.

HttpChannel

HttpClientChannel

retryCount

Eine ganze Zahl, die angibt, wie oft der Client einen versuchten, fehlgeschlagenen Remoteaufruf wiederholt. Der Standardwert ist 1.

TcpClientChannel

socketCachePolicy

Ein Member der SocketCachePolicy-Enumeration, das angibt, ob socketCacheTimeout relativ zur Erstellung des Sockets oder zur letzten Übertragung über den Socket gemessen wird. Der Standardwert ist Default.

TcpClientChannel

socketCacheTimeout

Eine ganze Zahl, die die Zeit in Sekunden angibt, nachdem ein Socket aus dem Cache entfernt wird, der von einem TcpClientChannel-Objekt verwaltet wird. Der Standardwert ist fünf Sekunden.

TcpClientChannel

connectionTimeout

Eine ganze Zahl, die die Wartezeit für eine erfolgreiche Verbindung in Millisekunden angibt. 0 oder -1 gibt eine unbegrenzte Timeoutperiode an. Der Standardwert ist Infinite.

IpcChannel

IpcClientChannel

timeout

Eine ganze Zahl, die die Wartezeit bei einer Anfrage vor einem Timeout in Millisekunden angibt. 0 oder -1 gibt eine unbegrenzte Timeoutperiode an. Der Standardwert ist Infinite.

HttpChannel

HttpClientChannel

TcpChannel

TcpClientChannel

allowAutoRedirect

Ein boolescher Wert (true oder false), der angibt, ob die automatische Behandlung von Serverumleitungen aktiviert ist.

HttpChannel

HttpClientChannel

credentials

Ruft eine ICredentials-Implementierung ab, die die Identität des Clients darstellt, oder legt diese fest.

HttpChannel

HttpClientChannel

useAuthenticatedConnectionSharing

Ein boolescher Wert (true oder false), der angibt, dass der Serverchannel authentifizierte Verbindungen wieder verwendet, anstatt jeden eingehenden Aufruf zu authentifizieren. Standardmäßig ist dieser Wert auf true festgelegt, wenn der Wert von useDefaultCredentials ebenfalls auf true festgelegt ist. Andernfalls ist der Wert auf false festgelegt. Wenn der Server die Authentifizierung erfordert wird daher jeder Aufruf authentifiziert. Dies gilt auch für die programmgesteuerte Vorgehensweise. Bei dieser wird entweder ein Objekt erstellt, das IDictionary implementiert, der Wert von credentials auf CredentialCache.DefaultCredentials festgelegt und dieser Wert an die Channelempfänger übergeben, oder es wird das IDictionary verwendet, das von der ChannelServices.GetChannelSinkProperties-Methode zurückgegeben wird.

Dieses Namen-/Wertpaar wird nur von Version 1.1 von .NET Framework auf folgenden Plattformen unterstützt: Microsoft Windows 98, Windows NT 4.0, Windows Millennium Edition (Windows Me), Windows 2000, Windows XP Home Edition, Windows XP Professional und Betriebssystemen der Windows Server 2003-Produktfamilie.

HttpChannel

HttpClientChannel

unsafeAuthenticatedConnectionSharing

Ein boolescher Wert (true oder false), der angibt, dass der Client eigene Anmeldeinformationen und einen eigenen Namen der Verbindungsgruppe bereitstellt, mit denen bzw. dem der Server eine authentifizierte Verbindungsgruppe erstellt. Wenn dieser Wert auf true festgelegt ist, muss der Wert von connectionGroupName genau einem authentifizierten Benutzer zugeordnet sein. Dieses Namen-/Wertpaar wird ignoriert, wenn der Wert von useAuthenticatedConnectionSharing auf true festgelegt ist.

Dieses Namen-/Wertpaar wird nur von Version 1.1 von .NET Framework auf folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und Betriebssystemen der Windows Server 2003-Produktfamilie.

HttpChannel

HttpClientChannel

connectionGroupName

Eine Zeichenfolge, die den Namen für die Verbindungsgruppe auf dem Server angibt, wenn der Wert von unsafeAuthenticatedConnectionSharing ebenfalls angegeben ist. Dieses Namen-/Wertpaar wird ignoriert, wenn unsafeAuthenticatedConnectionSharing nicht auf true festgelegt ist. Wenn angegeben, muss dieser Name genau einem authentifizierten Benutzer zugeordnet sein.

Dieses Namen-/Wertpaar wird nur von Version 1.1 von .NET Framework auf folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und Betriebssystemen der Windows Server 2003-Produktfamilie.

HttpChannel

HttpClientChannel

useDefaultCredentials

Ein boolescher Wert (true oder false), der angibt, ob Anmeldeinformationen für die dem aktuellen Thread zugeordnete Identität bei der Authentifizierung für einen Serverchannel angegeben werden müssen.

HttpChannel

HttpClientChannel

servicePrincipalName

Eine Zeichenfolge, die servicePrincipalName für eine Kerberos-Authentifizierung angibt. Der Standardwert ist null.

HttpChannel

HttpClientChannel

TcpChannel

TcpClientChannel

tokenImpersonationLevel

Ein Wert vom Typ TokenImpersonationLevel. Diese Eigenschaft gibt an, wie der Client beim Server authentifiziert wird. Der Standardwert ist None. Wenn die secure-Eigenschaft auf true festgelegt wurde, lautet der Standardwert Identification.

TcpChannel

TcpClientChannel

domain

Eine Zeichenfolge, die einen Domänennamen angibt, der bei der Authentifizierung für einen Serverchannel in Verbindung mit dem von username angegebenen Benutzernamen sowie dem von password angegebenen Kennwort verwendet werden soll.

HttpClientChannel

TcpClientChannel

username

Eine Zeichenfolge, die einen Benutzernamen angibt, der bei der Authentifizierung für einen Serverchannel in Verbindung mit dem von password angegebenen Kennwort sowie der von domain angegebenen Domäne verwendet werden soll.

HttpClientChannel

TcpClientChannel

password

Eine Zeichenfolge, die ein Kennwort angibt, das bei der Authentifizierung für einen Serverchannel in Verbindung mit dem von username angegebenen Benutzernamen sowie der von domain angegebenen Domäne verwendet werden soll.

HttpClientChannel

TcpClientChannel

Hinweis

Unter Windows 98 und Windows Me ist keine Sicherheits-ID verfügbar, mit der der Name der Verbindungsgruppe bei der Authentifizierung identifiziert werden kann. Aus diesem Grund ist auf diesen Plattformen nur ein Verbindungsgruppenname verfügbar.

Hinweis

Wenn die Anwendung die ICredentials-Implementierung bzw. explizite Werte für username, password und domain an die HttpClientChannel-Eigenschaften übergeben soll, können Sie die Freigabe von Verbindungen bei der Authentifizierung aktivieren, indem Sie das Namen-/Wertpaar für unsafeAuthenticatedConnectionSharing und das Namen-/Wertpaar für connectionGroupName ebenfalls übergeben, wobei der Wert von connectionGroupName nur einem authentifizierten Benutzer zugeordnet sein darf.

In der folgenden Tabelle werden die Serverchanneleigenschaften aufgeführt, die angegeben werden können.

Eigenschaft Beschreibung Typen, die diese Eigenschaft unterstützen

port

Eine ganze Zahl, die den Port angibt, den der Channel überwacht. Wenn Sie 0 angeben, wählt das Remotingsystem automatisch einen offenen Port aus.

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

suppressChannelData

Ein boolescher Wert (true oder false), der angibt, ob der Channel zu den Channeldaten beitragen wird, die über die Eigenschaften ChannelData, ChannelData oder ChannelData verfügbar sind. Der Standardwert ist false.

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

IpcChannel

IpcServerChannel

useIpAddress

Ein boolescher Wert (true oder false), der angibt, ob im Veröffentlichungs-URL anstelle des Computernamens die IP-Adresse verwendet werden soll. In drahtlosen Netzwerken wird z. B. häufig die IP-Adresse eines tragbaren Computers bei Positionsänderungen innerhalb des Netzwerks geändert. Wenn Sie für diesen Wert false angeben, wird anstelle der Adresse der Computername verwendet, sodass Remoteverbindungen beim Roaming nicht getrennt werden. Der Standardwert ist true. Dieser Wert kann durch die machineName-Eigenschaft außer Kraft gesetzt werden, wenn die Eigenschaft mit einem Serverchannel verwendet wird. Weitere Informationen finden Sie unter machineName.

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

bindTo

Eine Zeichenfolge, die die IP-Adresse der Netzwerkschnittstellenkarte (Network Interface Card, NIC) angibt, an die der Serverchannel gebunden werden soll. Der Standardwert ist System.Net.IPAddress.Any.

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

listen

Ein boolescher Wert (true oder false), der angibt, ob die Aktivierung einen Hook in IChannelReceiverHook.WantsToListen erstellen soll. Der Standardwert ist true.

HttpChannel

HttpServerChannel

rejectRemoteRequests

Ein boolescher Wert (true oder false), der angibt, ob Anforderungen anderer Computer zurückgewiesen werden sollen. Bei Angabe von true werden nur Remotingaufrufe des lokalen Computers zugelassen. Der Standardwert ist false.

TcpChannel

TcpServerChannel

exclusiveAddressUse

Ein boolescher Wert (true oder false), der angibt, ob der Channel die Wiederverwendung der Kombination aus IP-Adresse und Port durch andere Anwendungen verhindert. Der Standardwert ist true. Wenn dieser Wert auf true festgelegt ist, legt diese Eigenschaft die Serversocketoption von SocketOptionName auf SocketOptionName.ExclusiveAddressUse fest.

Diese Eigenschaft wird nur von Version 1.1 von .NET Framework auf folgenden Plattformen unterstützt: Windows NT 4.0 mit Service Pack 4 oder höher, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und die Betriebssysteme der Windows Server 2003-Produktfamilie.

Zum Ändern dieser Eigenschaft benötigen Sie Administratorrechte auf Plattformen vor Windows XP Service Pack 2 oder Windows Server 2003

HttpChannel

HttpServerChannel

TcpChannel

TcpServerChannel

impersonate

Ein boolescher Wert (true oder false), der angibt, ob der Server die Identität des Client annehmen sollte. Der Standardwert ist false.

TcpChannel

TcpServerChannel

authorizedGroup

Eine Zeichenfolge, die die Gruppe oder den Benutzer angibt, die bzw. der zum Verbinden mit diesem Channel berechtigt ist. Standardmäßig wird der Zugriff für alle autorisierten Benutzer gewährt.

IpcChannel

IpcServerChannel

portName

Eine Zeichenfolge, die den Namen des Ports angibt, den der Server zur Verfügung stellt. Diese Eigenschaft ist für IpcChannel oder IpcServerChannel erforderlich.

IpcChannel

IpcServerChannel

authorizationModule

Eine Zeichenfolge, die die Assembly, den Namespace und den Klassennamen einer Klasse angibt, die die IAuthorizeRemotingConnection-Schnittstelle implementiert. Das Format der Zeichenfolge muss "AuthorizationModuleNameSpace.AuthorizationModuleClass,AuthorizationModuleAssembly" entsprechen.

TcpChannel

TcpServerChannel

In der folgenden Tabelle werden die Eigenschaften aufgeführt, die für Channelempfänger angegeben werden können.

Eigenschaft Beschreibung Typen, die diese Eigenschaft unterstützen

includeVersions

Ein boolescher Wert (true oder false), der angibt, ob das Formatierungsprogramm Versionsinformationen enthalten soll.

BinaryClientFormatterSink BinaryServerFormatterSink SoapClientFormatterSink SoapServerFormatterSink

strictBinding

Ein boolescher Wert (true oder false), der angibt, ob ein empfangendes Formatierungsprogramm zuerst versucht, den Typ anhand der vollständigen Versionsinformationen zu identifizieren (sofern vorhanden), bevor lediglich der Typ- und Assemblyname ohne die Versionsinformationen verwendet werden. Die Standardeinstellung für beide vom System bereitgestellten Formatierungsprogramme lautet false. Weitere Informationen finden Sie unter <formatter>-Element (Vorlage).

BinaryServerFormatterSink SoapServerFormatterSink

metadataEnabled

Ein boolescher Wert (true oder false), der angibt, ob Anforderungen berücksichtigt werden sollen, die auf "?wsdl" enden, wenn sich dieser Empfänger in der Channelempfängerkette befindet. Die Standardeinstellung ist true. Bei false löst der Empfänger immer dann eine Ausnahme aus, wenn Metadaten für ein Objekt in der Anwendungsdomäne angefordert werden.

Diese Eigenschaft wird nur von Version 1.1 von .NET Framework auf folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und Betriebssysteme der Windows Server 2003-Produktfamilie.

SdlChannelSink

remoteApplicationMetadataEnabled

Ein boolescher Wert (true oder false), der angibt, ob Anforderungen des Objekt-URI (Uniform Resource Identifier) "RemoteApplicationMetadata?wsdl" berücksichtigt werden sollen, der WSDL (Web Services Description Language) mit einer Beschreibung aller von der Anwendungsdomäne veröffentlichten Objekte zurückgibt. Bei false wird bei jeder Anforderung an "RemoteApplicationMetadata.rem" eine Ausnahme ausgelöst. Alle anderen "?wsdl"-Anforderungen von bestimmten Objekt-URIs werden berücksichtigt. Bei true wird die Anforderung globaler Metadaten berücksichtigt. Die Standardeinstellung ist false.

Diese Eigenschaft wird nur von Version 1.1 von .NET Framework auf folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und Betriebssysteme der Windows Server 2003-Produktfamilie.

SdlChannelSink

typeFilterLevel

Ein Zeichenfolgenwert, der die Ebene der automatischen Deserialisierung angibt, die von einem Serverchannel unternommen wird. Unterstützte Werte sind Low (der Standardwert) und Full. Weitere Informationen zu Deserialisierungsebenen finden Sie unter Automatische Deserialisierung in .NET Remoting.

Diese Eigenschaft wird nur von Version 1.1 von .NET Framework auf folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und Betriebssystemen der Windows Server 2003-Produktfamilie.

BinaryServerFormatterSink SoapServerFormatterSink

Siehe auch

Aufgaben

Gewusst wie: Konfigurieren eines Channels in einer Konfigurationsdatei
Gewusst wie: Programmgesteuertes Konfigurieren eines Channels

Referenz

Remoting Settings Schema

Konzepte

Konfiguration von Remoteanwendungen
Remote Object Configuration
Remote Object Configuration