Freigeben über


Ü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

  • 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.
  • Sicherheit beim Remoting
    Erläutert die Sicherheitsanforderungen für Remoting und die grundlegenden Ansätze zum Erstellen sicherer Remoteanwendungen.
  • "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.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.Metadata
    Enthält Klassen und Attribute, die verwendet werden, um die Generierung und Verarbeitung von SOAP für Objekte und Felder anzupassen.

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.