Übersicht über .NET Framework Remoting
Mit .NET Remoting können Sie auf einfache Weise weit verteilte Anwendungen erstellen. Dabei können sich die einzelnen Anwendungskomponenten auf einem Computer oder weltweit an verschiedenen Standorten befinden. Sie können Clientanwendungen erstellen, die Objekte in anderen Prozessen auf demselben Computer oder auf einem beliebigen anderen, über das Netzwerk erreichbaren Computer verwenden. Über .NET Remoting ist auch die Kommunikation mit anderen Anwendungsdomänen in demselben Prozess möglich. (Weitere Informationen zum Programmieren von Anwendungsdomänen finden Sie unter Programming with Application Domains.)
.NET Remoting stellt einen abstrakten Ansatz zur prozessübergreifenden Kommunikation dar, bei dem das remotefähige Objekt von einer bestimmten Client- oder Serveranwendungsdomäne sowie einem bestimmten Kommunikationsmechanismus getrennt wird. Infolgedessen ist es flexibel und einfach anzupassen. Sie können ein Kommunikationsprotokoll bzw. ein Serialisierungsformat durch ein anderes ersetzen, ohne dass der Client und der Server neu kompiliert werden müssen. Zudem setzt das Remotingsystem kein bestimmtes Anwendungsmodell voraus. Sie können aus einer Webanwendung, einer Konsolenanwendung, einem Windows-Dienst und einer Vielzahl anderer Programme kommunizieren. Remotingserver können ebenfalls beliebige Anwendungsdomänen darstellen. Jede Anwendung kann als Host von Remotingobjekten fungieren und ihre Dienste für alle Clients auf dem eigenen Computer oder in einem Netzwerk bereitstellen.
Hinweis
Aus Sicherheitsgründen wird dringend empfohlen, Remotingendpunkte durch sichere Kanäle verfügbar zu machen. Machen Sie nie unsichere Remotingendpunkte für das Internet verfügbar.
Um mit .NET Remoting eine Anwendung zu erstellen, in der zwei Komponenten direkt über die Grenze einer Anwendungsdomänen hinweg kommunizieren, müssen Sie lediglich Folgendes erstellen:
Ein remotefähiges Objekt.
Eine Hostanwendungsdomäne, die Anforderungen für dieses Objekt überwacht.
Eine Clientanwendungsdomäne, die Anforderungen für dieses Objekt sendet.
Selbst in einer komplexen Anwendung mit mehreren Clients und Servern kann .NET Remoting auf diese Weise eingesetzt werden. Die Hostanwendung und die Clientanwendung müssen ebenfalls mit der Remoteinfrastruktur konfiguriert werden, und es sind die aus der Remoteinfrastruktur resultierenden Fragen zu Lebensdauer und Aktivierung zu berücksichtigen.
In diesem Abschnitt
- Erstellen einer einfachen .NET Framework Remoting-Anwendung
Veranschaulicht das grundlegende Szenario für .NET Remoting, indem ein remotefähiger Typ, eine Listeneranwendung und eine Konfigurationsdatei sowie eine Clientanwendung und eine Konfigurationsdatei erstellt werden.
- .NET Framework Remoting-Architektur
Beschreibt die Architektur des .NET Remoting-Systems.
- Erstellen remotefähiger Objekte
Beschreibt die Remotegrenzen und das Implementieren von Typen, die über diese Grenzen hinweg aktiviert werden können.
- Aktivierung und Lebensdauer von Objekten
Beschreibt die verschiedenen Typen der Remoteaktivierung und das Verwalten der Lebensdauer von Remoteobjekten.
- Channel
Beschreibt die systemdefinierten Channel und enthält die erforderlichen Informationen für die Auswahl des für das Szenario am besten geeigneten Channels.
- Konfiguration von Remoteanwendungen
Beschreibt die grundlegenden Konfigurationsanforderungen der .NET Remoting-Infrastruktur, die für diese Anforderungen zu verwendenden Konfigurationstypen sowie die speziellen Erfordernisse verschiedener Server- und Clientanwendungsdomänen.
- Versionsinformationen beim Remoting
Beschreibt die Funktionsweise der Versionsverwaltung in einem Remoteszenario.
- Sicherheit beim Remoting
Erläutert die Sicherheitsanforderungen für Remoting und die grundlegenden Ansätze zum Erstellen sicherer Remoteanwendungen.
- Asynchrones Remoting
Beschreibt die asynchrone Programmierung in einem Remotingszenario.
- Gewusst wie: Asynchrones Aufrufen von Methoden für ein Remoteobjekt
Veranschaulicht, wie eine Methode eines Remoteobjekts asynchron aufgerufen wird.
- Probleme beim asynchronen Aufrufen von Methoden für Remoteobjekte
Beschreibt Probleme, die beim asynchronen Aufrufen einer Methode eines Remoteobjekts auftreten können.
- "CallContext" und direktes Remoting
Beschreibt, wie zusätzliche Daten mit Remotemethodenaufrufen unter Verwendung von CallContext übergeben und Objekte zur Remoteverwendung dynamisch veröffentlicht werden.
Referenz
- Remoting Settings Schema
Enthält Referenzinformationen zu den Elementen, mit denen .NET Remoting über eine Konfigurationsdatei konfiguriert werden kann.
- System.Runtime.Remoting
Enthält Referenzinformationen zu den Typen, mit denen .NET Remoting ausgeführt werden kann.
- System.Runtime.Remoting.Activation
Enthält Klassen und Objekte, die die Server- und Clientaktivierung von Remoteobjekten unterstützen.
- System.Runtime.Remoting.Channels
Enthält Klassen zur Unterstützung und Behandlung von Channeln und Channelempfängern, die als Transportmittel verwendet werden, wenn ein Client für ein Remoteobjekt eine Methode aufruft.
- System.Runtime.Remoting.Channels.Http
Enthält Klassen für Channel, die das HTTP-Protokoll für die Übertragung von Nachrichten und Objekten von und zu Remotespeicherorten verwenden.
- System.Runtime.Remoting.Channels.Ipc
Enthält Klassen, die einen Remotekommunikationschannel definieren, der das IPC-System (Interprocess Communication, prozessübergreifende Kommunikation) des Windows-Betriebssystems verwendet.
- System.Runtime.Remoting.Channels.Tcp
Enthält Klassen, die Channels definieren, die das TCP-Protokoll für die Übertragung von Nachrichten und Objekten von und zu Remotespeicherorten verwenden.
- System.Runtime.Remoting.Contexts
Enthält Objekte, die den Kontext definieren, in dem sich alle Remoteobjekte befinden.
- System.Runtime.Remoting.Lifetime
Enthält Klassen, die die Lebensdauer von Remoteobjekten verwalten.
- System.Runtime.Remoting.Messaging
Enthält Klassen, die zur Erstellung und Übertragung von Nachrichten verwendet werden.
- System.Runtime.Remoting.Metadata
Enthält Klassen und Attribute, die verwendet werden, um die Generierung und Verarbeitung von SOAP für Objekte und Felder anzupassen.
- System.Runtime.Remoting.Metadata.W3cXsd2001
Enthält XSD (XML Schema Definition), definiert von W3C (World Wide Web Consortium) im Jahr 2001.
- System.Runtime.Remoting.MetadataServices
Enthält die vom Befehlszeilentool Soapsuds Tool (Soapsuds.exe) verwendeten Klassen und den Benutzercode zum Konvertieren von Metadaten in ein und aus einem XML-Schema für die Remoteinfrastruktur.
- System.Runtime.Remoting.Proxies
Enthält Klassen, die Funktionen für Proxys bereitstellen und diese auch steuern.
- System.Runtime.Remoting.Services
Enthält Dienstklassen, die für .NET Framework Funktionen bereitstellen.
Verwandte Abschnitte
- Erweitertes Remoting
Beschreibt die grundlegenden Aspekte beim Abfangen und Erweitern, mit denen die .NET Remoting-Architektur angepasst werden kann.
- Remotingbeispiele
Enthält mehrere vollständige Beispielanwendungen, in denen unterschiedliche Elemente der Remoteinfrastruktur verwendet werden.