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 |
---|---|
allowAutoRedirect bindTo clientConnectionLimit connectionGroupName credentials exclusiveAddressUse listen machineName name port priority proxyName proxyPort servicePrincipalName suppressChannelData timeout unsafeAuthenticatedConnectionSharing useAuthenticatedConnectionSharing useDefaultCredentials useIpAddress |
|
allowAutoRedirect clientConnectionLimit connectionGroupName credentials domain machineName name password priority proxyName proxyPort servicePrincipalName timeout unsafeAuthenticatedConnectionSharing useAuthenticatedConnectionSharing useDefaultCredentials username |
|
bindTo exclusiveAddressUse listen machineName name port priority suppressChannelData useIpAddress |
|
authorizationModule bindTo exclusiveAddressUse impersonate machineName name port priority rejectRemoteRequests secure servicePrincipalName suppressChannelData timeout tokenImpersonationLevel useIpAddress |
|
domain machineName name password priority protectionLevel retryCount secure servicePrincipalName socketCachePolicy socketCacheTimeout timeout tokenImpersonationLevel username |
|
authorizationModule bindTo exclusiveAddressUse impersonate machineName name port priority protectionLevel rejectRemoteRequests# secure suppressChannelData useIpAddress |
|
authorizedGroup connectionTimeout name portName priority secure suppressChannelData |
|
connectionTimeout name priority secure |
|
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. |
|
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
Konzepte
Konfiguration von Remoteanwendungen
Remote Object Configuration
Remote Object Configuration