Freigeben über


.Übersicht über .NET Framework-Remoting

.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. (Nähere 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.

NoteHinweis:

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.

In diesem Abschnitt

  • 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.
  • Remotefähigmachen von Objekten
    Beschreibt die Remotinggrenzen und wie Typen implementiert werden, die über diese Grenzen hinweg aktiviert werden können.
  • 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.
  • 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.
  • 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.

Referenz

  • 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.Channels
    Enthält Klassen zur Unterstützung und Behandlung von Channels und Channelempfängern, die als Transportmittel verwendet werden, wenn ein Client für ein Remoteobjekt eine Methode aufruft.
  • 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.Metadata
    Enthält Klassen und Attribute, die verwendet werden, um die Generierung und Verarbeitung von SOAP für Objekte und Felder anzupassen.

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.

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.