Übersicht über .NET Framework-Remoting
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.
Mit .NET-Remoting können Sie auf einfache Weise weit verteilte Anwendungen erstellen, wobei sich die einzelnen Anwendungskomponenten auf demselben Computer oder weltweit an verschiedenen Standorten befinden können. Sie können Clientanwendungen erstellen, die Objekte in anderen Prozessen auf demselben Computer oder auf einem beliebigen anderen Computer im Netzwerk verwenden. Sie können .NET-Remoting auch verwenden, um im selben Prozess mit anderen Anwendungsdomänen zu kommunizieren. (Ausführliche Informationen zur Programmierung von Anwendungsdomänen finden Sie unter Programming with Application Domains).
.NET-Remoting stellt eine abstrakte Methode zur prozessübergreifenden Kommunikation bereit, die das remotefähige Objekt von einer bestimmten Client- oder Server- und Clientanwendungsdomäne und von einem bestimmten Kommunikationsmechanismus trennt. Daher ist es flexibel und leicht anpassbar. Sie können ein Kommunikationsprotokoll durch ein anderes Kommunikationsprotokoll oder ein Serialisierungsformat durch ein anderes Serialisierungsformat ersetzen, ohne den Client oder den Server neu kompilieren zu müssen. Außerdem setzt das Remotesystem kein besonderes Anwendungsmodell voraus. Sie können von einer Webanwendung, einer Konsolenanwendung, einem Windows-Dienst oder von nahezu allem, das Sie verwenden möchten, kommunizieren. Ein Remoteserver kann auch ein beliebiger Typ von Anwendungsdomäne sein. Jede Anwendung kann Remoteobjekte hosten und ihre Dienste allen Clients auf dem Computer oder im Netzwerk bereitstellen.
Hinweis: |
---|
Aus Gründen der Sicherheit wird dringend empfohlen, Remotingendpunkte durch sichere Channels verfügbar zu machen. Machen Sie unsichere Remotingendpunkte niemals dem Internet verfügbar. |
Um mit .NET-Remoting eine Anwendung zu entwickeln, in der Komponenten direkt über Anwendungsdomänengrenzen hinweg kommunizieren, müssen Sie lediglich folgende Komponenten erstellen:
Ein remotefähiges Objekt
Eine Hostanwendungsdomäne, die Anforderungen dieses Objekts empfängt
Eine Clientanwendungsdomäne, die dieses Objekt anfordert
Sogar in einer komplexen Anwendung, die mehrere Clients oder Server umfasst, kann .NET-Remoting auf diese Art konzipiert werden. Host- und Clientanwendungen müssen zudem für die Remotinginfrastruktur konfiguriert werden, und Sie müssen die Probleme im Zusammenhang mit der Lebensdauer und Aktivierung kennen, die durch die Remotinginfrastruktur bedingt sind.
Inhalt dieses Abschnitts
- Erstellen einer .NET Framework-Basisremoteanwendung
Veranschaulicht das grundlegende .NET-Remotingszenario durch die Erstellung eines remotefähigen Typs, einer Listeneranwendung und einer Konfigurationsdatei sowie einer Clientanwendung und einer Konfigurationsdatei.
- .NET Framework-Remotearchitektur
Beschreibt die Architektur des .NET-Remotingsystems.
- Remotefähigmachen von Objekten
Beschreibt die Remotinggrenzen und wie Typen implementiert werden, die über diese Grenzen hinweg aktiviert werden können.
- Objektaktivierung und Lebensdauer
Beschreibt die verschiedenen Arten von Remoteaktivierung und wie die Lebensdauer von Remoteobjekten verwaltet wird.
- Channels
Beschreibt die systemdefinierten Channels und stellt die Informationen bereit, die zur Entscheidung der Frage erforderlich sind, welcher Channel für ein bestimmtes Szenario am besten geeignet ist.
- Konfiguration von Remoteanwendungen
Beschreibt die grundlegenden Konfigurationsanforderungen der .NET-Remotinginfrastruktur, Konfigurationstypen, die diese Anforderungen erfüllen können, und die speziellen Anforderungen verschiedener Server- und Clientanwendungsdomänen.
- Versionsinformationen in Remoting
Beschreibt, wie die Versionsverwaltung in einem Remoteszenario funktioniert.
- Sicherheit beim Remoting
Beschreibt die Sicherheitsanforderungen, die für den Einsatz von Remoting gelten, und die grundlegenden Ansätze für die Erstellung sicherer Remotinganwendungen.
- Asynchrones Remoting
Beschreibt, wie die asynchrone Programmierung in einem Remotingszenario eingesetzt wird.
- Vorgehensweise: Asynchrones Aufrufen der Methoden eines Remoteobjekts
Zeigt, wie eine Methode eines Remoteobjekts asynchron aufgerufen wird.
- Probleme beim asynchronen Aufrufen von Methoden für Remoteobjekte
Beschreibt Probleme, die auftreten können, wenn eine Methode eines Remoteobjekts asynchron aufgerufen wird.
- CallContexts und direktes Remoting
Beschreibt, wie mit CallContext zusätzliche Daten in Remotemethodenaufrufen übergeben werden und wie Objekte für die Verwendung durch Remoteobjekte dynamisch veröffentlicht werden.
Verweis
- Schema für Remoteeinstellungen
Stellt Referenzinformationen zu den Elementen bereit, die zur Konfiguration von .NET-Remoting mit einer Konfigurationsdatei verwendet werden können.
- System.Runtime.Remoting
Stellt Referenzinformationen zu den Typen bereit, die zur Durchführung von .NET-Remoting verwendet werden können.
- 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 Channels und Channelsenken, 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 Channels, die das HTTP-Protokoll verwenden, um Nachrichten und Objekte von und zu Remotespeicherorten zu übermitteln.
- 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 Channel definieren, die das TCP-Protokoll verwenden, um Nachrichten und Objekte von und zu Remotespeicherorten zu übermitteln.
- System.Runtime.Remoting.Contexts
Enthält Objekte, die die Kontexte definieren, in denen 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 Übermittlung 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
Dokumentiert die Sprache XML Schema Definition (XSD), die vom World Wide Web Consortium (W3C) im Jahr 2001 definiert wurde.
- System.Runtime.Remoting.MetadataServices
Enthält die vom Befehlszeilenprogramm Soapsuds.exe verwendeten Klassen und den Benutzercode zum Konvertieren von Metadaten in das und aus dem XML-Schema für die Remotinginfrastruktur.
- 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 das .NET Framework Funktionen bereitstellen.
Verwandte Abschnitte
- Remoting für Fortgeschrittene
Beschreibt die grundlegenden Unterbrechungs- und Erweiterungsmöglichkeiten, die Sie zum Anpassen der .NET-Remotingarchitektur nutzen können.
- Remotingbeispiele
Enthält einige vollständige Beispielanwendungen, die verschiedene Elemente der Remotinginfrastruktur verwenden.
Erstellungsdatum: 2010-02-13