Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 Sie aber die IDictionary-Eigenschaft programmgesteuert erstellen, können ganzzahlige Werte als ganze Zahlen (ohne Anführungszeichen) oder als Zeichenfolgen (Werte in Anführungszeichen) und boolesche Werte als Boolean festgelegt werden. Alle anderen Werte werden als Zeichenfolgen festgelegt. Im folgenden Codebeispiel wird veranschaulicht, wie die Werte in einer Konfigurationsdatei eines <channel>-Elements angezeigt werden könnten. (Wenn Sie eine Vorlage bestimmen möchten, die einen im globalen Assemblycache enthaltenen Typ verwendet, müssen Sie darauf achten, zur Bindung an den richtigen Typ alle Versionsinformationen und Informationen über starke Namen hinzuzufügen.)
<channel
name="MyCustomChannel"
priority="2"
type="CustomChannelName, CustomAssembly, Version=1.0.6940.0, Culture=neutral, PublicKeyToken=somepublickeystring"
/>
Im folgenden Codebeispiel wird gezeigt, wie die Werte erscheinen könnten, wenn Sie dies programmgesteuert für eine Serveranwendungsdomäne festlegten. In diesem Fall gibt der Server an, dass das Remotingsystem ein HttpChannel-Objekt für die Übertragung, jedoch ein BinaryFormatter-Objekt für Serialisierung und Deserialisierung verwendet.
Dim props = New Hashtable() As IDictionary
props("name") = "ChannelName1"
Dim channel As New HttpChannel( _
props, _
Nothing, _
New BinaryServerFormatterSinkProvider() _
)
ChannelServices.RegisterChannel(channel)
[C#]
IDictionary props = new Hashtable();
props["name"] = "MyHttpChannel";
HttpChannel channel = new HttpChannel(
props,
null,
new BinaryServerFormatterSinkProvider()
);
ChannelServices.RegisterChannel(channel);
In der folgenden Tabelle werden die allgemeinen Channeleigenschaften aufgeführt, die angegeben werden können.
| Eigenschaft | Beschreibung | Typen, die diese Eigenschaft unterstützen |
|---|---|---|
| name | Der Name dieses Channels. Wenn keine name-Eigenschaft festgelegt ist, wird standardmäßig http oder tcp verwendet. Beim Registrieren von mehr als einen HttpChannel oder TcpChannel muss jeder Channel einen eindeutigen Namen aufweisen. Wenn Sie Namen ignorieren, jedoch Namenskonflikte vermeiden möchten, legen Sie diese Eigenschaft auf eine leere Zeichenfolge ("" oder String.Empty) fest. Im System sind beliebig viele Channels mit name gleich String.Empty zulässig. Diese Eigenschaft wird verwendet, um beim Aufrufen von ChannelServices.GetChannel() einen bestimmten Channel abzurufen. Einzelheiten finden Sie unter Channel. | HttpChannel HttpServerChannel HttpClientChannel 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 |
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 | Der Name des Proxycomputers. | HttpChannel HttpClientChannel |
| proxyPort | Eine ganze Zahl, die den Proxyanschluss angibt. | HttpChannel HttpClientChannel |
| timeout | Die Wartezeit in Millisekunden bis zum Timeout einer Anforderung. -1 gibt eine unbegrenzte Timeoutperiode an. | HttpChannel HttpClientChannel |
| machineName | Eine Zeichenfolge, die den für diesen Channel verwendeten Computernamen angibt. Überschreibt den im Channeldatenobjekt angegebenen Computernamen.
Es empfiehlt sich generell, den DNS-Namen (Domain Name System) des Computers zu verwenden. Wenn jedoch die IP-Adresse für eine bestimmte NIC (Network Interface Card, Netzwerkschnittstellenkarte), 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 der Fall bei DFÜ-Verbindungen oder VPN-Netzwerkkarten), sollten Sie die machineName-Eigenschaft auf die IP-Adresse der NIC festlegen, die derzeit für diese Verbindung verwendet wird. |
HttpChannel HttpClientChannel TcpChannel TcpClientChannel |
| allowAutoRedirect | Ruft einen Wert ab, der angibt, ob die automatische Behandlung von Serverumleitungen aktiviert ist, oder legt diesen fest. | 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 der angibt, dass der Serverchannel authentifizierte Verbindungen wiederverwendet, anstatt jeden eingehenden Aufruf zu authentifizieren. In der Standardeinstellung wird dieser Wert auf true festgelegt, wenn der Wert von useDefaultCredentials ebenfalls auf true festgelegt ist. Andernfalls wird 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 den Channelempfänger übergeben, oder es wird das IDictionary verwendet, das von der ChannelServices.GetChannelSinkProperties-Methode zurückgegeben wird.
Dieses Name/Wert-Paar wird nur von der Version 1.1 von .NET Framework auf den 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 die Windows Server 2003-Familie. |
HttpChannel HttpClientChannel |
| unsafeAuthenticatedConnectionSharing | Ein boolescher Wert, der angibt, dass der Client eigene Anmeldeinformationen und einen eigenen Namen der Verbindungsgruppe angibt, mit denen bzw. dem der eine authentifizierte Verbindungsgruppe erstellt. Wenn dieser Wert auf true festgelegt ist, muss der Wert von connectionGroupName genau einem authentifizierten Benutzer zugeordnet sein. Dieses Name/Wert-Paar wird ignoriert, wenn der Wert von useAuthenticatedConnectionSharing auf true festgelegt ist.
Dieses Name/Wert-Paar wird nur von der Version 1.1 von .NET Framework auf den folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und die Windows Server 2003-Familie. |
HttpChannel HttpClientChannel |
| connectionGroupName | Der Name, der als Name der Verbindungsgruppe auf dem Server verwendet wird, wenn der Wert von unsafeAuthenticatedConnectionSharing ebenfalls angegeben ist. Dieses Name/Wert-Paar wird ignoriert, wenn unsafeAuthenticatedConnectionSharing nicht auf true festgelegt ist. Wenn angegeben, muss dieser Name genau einem authentifizierten Benutzer zugeordnet sein.
Dieses Name/Wert-Paar wird nur von der Version 1.1 von .NET Framework auf den folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und die Windows Server 2003-Familie. |
HttpChannel HttpClientChannel |
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.
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 Name/Wert-Paar für unsafeAuthenticatedConnectionSharing und das Name/Wert-Paar 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 Anschluss angibt, den der Channel überwacht. | HttpChannel HttpServerChannel TcpChannel TcpServerChannel |
| suppressChannelData | Ein boolescher Wert, der angibt, ob der Channel zu den Channeldaten beiträgt. | HttpChannel HttpServerChannel TcpChannel TcpServerChannel |
| useIpAddress | Ein boolescher Wert, 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 festlegen, wird anstelle der Adresse der Computername verwendet, so dass Remoteverbindungen beim Roaming nicht getrennt werden. The default is true. | HttpChannel HttpServerChannel TcpChannel TcpServerChannel |
| bindTo | Eine Zeichenfolge, die die IP-Adresse der Netzwerkschnittstellenkarte (NIC) festlegt, an die der Serverchannel gebunden werden soll. | HttpChannel HttpServerChannel TcpChannel TcpServerChannel |
| machineName | Eine Zeichenfolge, die den Computernamen in den Channeldaten überschreibt. Bei Angabe dieser Eigenschaft wird useIpAddress überschrieben. | HttpChannel HttpServerChannel TcpChannel TcpServerChannel |
| listen | Ein boolescher Wert, der angibt, ob die Aktivierung einen Hook in IChannelReceiverHook.WantsToListen erstellen soll. | HttpChannel HttpServerChannel |
| rejectRemoteRequests | Ein boolescher Wert, der angibt, ob Anforderungen anderer Computer zurückgewiesen werden sollen. Bei Angabe von true werden nur Remotingaufrufe des lokalen Computers zugelassen. | TcpChannel TcpServerChannel |
| exclusiveAddressUse | Ein boolescher Wert, der angibt, ob der Channel die Wiederverwendung der Kombination aus IP-Adresse und Anschluss durch andere Anwendungen verhindert. Wenn dieser Wert auf true (den Standardwert) festgelegt ist, legt diese Eigenschaft die Serversocketoption von SocketOptionName auf SocketOptionName.ExclusiveAddressUse fest.
Diese Eigenschaft wird nur von der Version 1.1 von .NET Framework auf den 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 Windows Server 2003-Familie. Diese Eigenschaft erfordert Administratorrechte auf früheren Plattformen vor der Windows Server 2003-Familie. |
HttpChannel HttpServerChannel 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, der angibt, ob das Formatierungsprogramm Versionsinformationen enthalten soll. | BinaryClientFormatterSink BinaryServerFormatterSink SoapClientFormatterSink SoapServerFormatterSink |
| strictBinding | Gibt an, das 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 wird. 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, der angibt, ob Anforderungen berücksichtigt werden sollen, die auf "?wsdl" enden, wenn sich dieser Empfänger in der Kette der Channelempfänger 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 der Version 1.1 von .NET Framework auf den folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und die Windows Server 2003-Familie. |
SdlChannelSink |
| remoteApplicationMetadataEnabled | Ein boolescher Wert, 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 der Version 1.1 von .NET Framework auf den folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und die Windows Server 2003-Familie. |
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 über Deserialisierungsebenen finden Sie unter Automatische Deserialisierung in .NET Remoting.
Diese Eigenschaft wird nur von der Version 1.1 von .NET Framework auf den folgenden Plattformen unterstützt: Windows 98, Windows NT 4.0, Windows Me, Windows 2000, Windows XP Home Edition, Windows XP Professional und die Windows Server 2003-Familie. |
BinaryServerFormatterSink SoapServerFormatterSink |
Siehe auch
Konfiguration | Remoteobjektkonfiguration | Schema für Remoteeinstellungen