Konfiguration von Remoteanwendungen
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.
Die .NET-Remoteinfrastruktur benötigt bestimmte Informationen, damit das Remoting reibungslos funktioniert. Remotefähige Typen können auf zwei Arten konfiguriert werden: Entweder Sie rufen die Konfigurationsmethoden im Server- und Clientcode direkt auf (ausführliche Informationen finden Sie unter Programmgesteuerte Konfiguration), oder Sie erstellen einen Konfigurationsabschnitt für Remoting in der Konfigurationsdatei der Anwendung, der Datei Web.config oder der Datei Machine.config (ausführliche Informationen finden Sie unter Remoteobjektkonfiguration). Beide Konfigurationsprozesse haben Vor- und Nachteile, sodass sich die Wahl nach Ihren Vorlieben richtet.
Sie müssen dem Remotesystem folgende Informationen bereitstellen, um den Typ remotefähig zu machen:
Den Aktivierungstyp, der für den Typ erforderlich ist.
Die vollständigen Metadaten, die den Typ beschreiben.
Den Channel, der zur Behandlung von Anforderungen für den Typ registriert ist.
Die URL, die das Objekt dieses Typs eindeutig kennzeichnet. Im Fall einer Serveraktivierung ist dies ein Uniform Resource Identifier (URI), der für diesen Typ eindeutig ist. Im Fall einer Clientaktivierung wird eine URL zugewiesen, die für diese Instanz eindeutig ist.
Die Remoteinfrastruktur des Clients und des Servers müssen diese Informationen kennen, um Proxys für das Remoteserverobjekt zu erstellen und Methodenaufrufe für das Remoteserverobjekt zu senden. Clients könnten auch spezielle Konfigurationen zur Verfügung stehen. Wenn der Client ein vom Client aktiviertes Objekt anfordert, kann der Client eine Anforderung stellen, dass die Lebensdauer, die der Instanz zugewiesen wurde, verlängert werden soll. Wenn der Client irgendeine Art des Rückrufs erwartet, muss der Client zum Schluss selbst aktiv einen Channel registrieren, den er auf diesen Rückruf hin abhört. (In allen anderen Fällen sucht das .NET-Remotesystem automatisch nach einem kompatiblen Clientchannel, sofern das System einen besitzt.) Server könnten Standardzeiträume für die Lebensdauer für vom Client aktivierte Objekte festlegen oder angeben, dass ein bestimmter benutzerdefinierter Objektaktivierer verwendet werden soll.
Wenn Sie einen TCP- oder einen HTTP-Serverchannel für einen .NET Framework-Remoteserver konfigurieren und der Servercomputer über mehrere NICs (Network Interface Cards, Netzwerkschnittstellenkarten) oder eine NIC verfügt, deren IP-Adresse sich ändert (z. B. bei einer drahtlosen NIC), dann müssen Sie die Channels so konfigurieren, dass sie die machineName-Eigenschaft verwenden. Damit stellen Sie sicher, dass .NET Framework-Remoting den Servercomputer findet. Weitere Informationen finden Sie in der Beschreibung der machineName-Eigenschaft unter Konfigurationseigenschaften für Channel und Formatierungsprogramm.
Wenn Sie vor dem Erstellen einer Instanz alle Informationen über das remotefähige Objekt bereitstellen, können Sie das new-Schlüsselwort (New in Visual Basic) verwenden; andernfalls müssen Sie entweder Activator.GetObject oder Activator.CreateInstance verwenden.
Hinweis: |
---|
Obwohl eine Anwendungskonfigurationsdatei nur ein paar auf .NET-Remoting bezogene Einstellungen enthält, sind die meisten Probleme bei der Verwendung von .NET-Remoting darauf zurückzuführen, dass einige dieser Einstellungen entweder falsch sind oder nicht mit den Konfigurationseinstellungen für Clientanwendungen übereinstimmen. Es passiert sehr schnell, dass ein Name falsch geschrieben, ein Anschluss vergessen oder ein Attribut nicht angegeben wird. Wenn Sie Probleme mit der Remoteanwendung haben, überprüfen Sie zuerst die Konfigurationseinstellungen. |
Siehe auch
Verweis
Schema für Remoteeinstellungen
Konzepte
Probleme bei Metadaten
Aktivierungs-URLs
Programmgesteuerte Konfiguration
Automatische Deserialisierung in .NET Framework-Remoting
Konfigurationseigenschaften für Channel und Formatierungsprogramm
Hosten von Remoteobjekten in Internetinformationsdiensten (IIS)
Remotingbeispiel: Hosting in Internetinformationsdiensten (IIS)