Share via


Aufgabenliste für Basisremoting

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.

.NET-Remoting ist eine von mehreren Möglichkeiten, um eine Kommunikation zwischen Anwendungsdomänen mit .NET Framework herzustellen. Sie müssen entscheiden, welche Funktionen die Anwendung benötigt, und sich über die zur Verfügung stehenden Ressourcen Gedanken machen, bevor Sie ein bestimmtes Entwicklungsmodell für die verteilte Anwendung auswählen. Weitere Informationen finden Sie unter Auswählen von Kommunikationsoptionen in .NET. Die folgenden Aufgabenlisten beschreiben die wesentlichen Schritte zum Erstellen einer .NET-Basisremoteanwendung.

Aufgaben für remotefähige Typen

Definieren Sie den remotefähigen Typ. Remotefähige Typen müssen von MarshalByRefObject abgeleitet sein. Die Clientanwendung und die Serveranwendung müssen auf die Assembly verweisen, die den remotefähigen Typ enthält. Wenn die Clientanwendung nicht auf die Implementierungsassembly verweisen soll, können Sie mit dem Tool Soapsuds.exe eine Stubassembly generieren und mit der Clientanwendung darauf verweisen. Alternativ dazu können Sie eine Schnittstelle in einer freigegebenen Assembly definieren, diese Schnittstelle für das Remoteobjekt implementieren und in der Clientanwendung auf die freigegebene Assembly verweisen. Der einzige Nachteil dieser Methode besteht darin, dass Sie den neuen Operator nicht zum Instanziieren eines Objekts verwenden können, wenn Sie den Client mit einer Konfigurationsdatei konfigurieren. Sie müssen GetObject aufrufen, um das Remoteobjekt zu instanziieren.

Hostaufgaben

So veröffentlichen Sie ein Remoteobjekt, um es von außerhalb der Anwendungsdomäne zu verwenden

  1. Entwerfen Sie den Dienst:

    1. Informationen zum Auswählen eines Hostanwendungstyps finden Sie unter Vorgehensweise: Erstellen einer Hostanwendung.

    2. Wählen Sie einen Aktivierungsmodus aus. Weitere Informationen finden Sie unter Aktivierung von Remoteobjekten.

    3. Wählen Sie einen Channel und einen Anschluss aus. Weitere Informationen finden Sie unter Auswählen eines Channels.

  2. Implementieren Sie die Hostanwendung. Remotehosts können Windows-Dienste, Konsolenanwendungen, Windows Forms-Anwendungen, ISS-Prozesse (IIS = Internetinformationsdienste) oder ASP.NET-Anwendungen sein. Die Anforderungen für die verschiedenen Anwendungstypen variieren. Lesen Sie daher die Dokumentation, in der die Erstellung des gewünschten Anwendungstyps beschrieben ist. Im Host konfigurieren Sie das Remotesystem für den Aktivierungsmodus sowie weitere Informationen, wie den Anwendungsnamen und den Objekt-URI. Wenn Sie das System programmgesteuert konfigurieren möchten, müssen Sie keine Konfigurationsdatei verwenden. Wenn Sie eine Konfigurationsdatei verwenden, müssen Sie die Datei durch Aufrufen von RemotingConfiguration.Configure in das System laden.

  3. Erstellen Sie im Host den entsprechenden Channel, und registrieren Sie ihn beim Channel, indem Sie ChannelServices.RegisterChannel aufrufen. Wenn Sie eine Konfigurationsdatei verwenden, müssen Sie die Datei durch Aufrufen von RemotingConfiguration.Configure in das System laden.

  4. Der Host muss auf die Assembly des Remoteobjekts verweisen.

Clientaufgaben

So greifen Sie auf einen Dienst zur Nutzung von außerhalb der Anwendungsdomäne zu

  1. Entwerfen Sie den Client:

    1. Wählen Sie eine Clientanwendungsdomäne aus.

    2. Legen Sie den Aktivierungsmodus und entweder die Clientaktivierungs-URL oder die URL für das bekannte Objekt des Remotetyps fest.

    3. Überlegen Sie, ob Sie einen Channel und einen Anschluss registrieren müssen.

    4. Rufen Sie die Metadaten des Remotetyps ab.

  2. Implementieren Sie die Clientanwendung. Remotehosts können Windows-Dienste, Konsolenanwendungen, Windows Forms-Anwendungen, ISS-Prozesse (IIS = Internetinformationsdienste) oder ASP.NET-Anwendungen sein. Die Anforderungen für die verschiedenen Anwendungstypen variieren. Lesen Sie daher die Dokumentation, in der die Erstellung des gewünschten Anwendungstyps beschrieben ist.

  3. Konfigurieren Sie das Remotesystem des Clients mit dem Aktivierungsmodus sowie weiteren Typinformationen, wie dem Anwendungsnamen und dem Objekt-URI (Uniform Resource Identifier). Wenn Sie das System programmgesteuert konfigurieren möchten, müssen Sie keine Konfigurationsdatei verwenden. Wenn Sie eine Konfigurationsdatei verwenden, müssen Sie die Datei durch Aufrufen von RemotingConfiguration.Configure in das System laden.

  4. Erstellen Sie den entsprechenden Channel, und registrieren Sie ihn beim System, indem Sie ChannelServices.RegisterChannel aufrufen. Wenn Sie eine Konfigurationsdatei verwenden, müssen Sie die Datei durch Aufrufen von RemotingConfiguration.Configure in das System laden.

  5. Instanziieren Sie das Remoteobjekt, und rufen Sie es auf. Wenn das Objekt mit einer Konfigurationsdatei konfiguriert würde, können Sie den new-Operator verwenden. Wenn das Objekt programmgesteuert konfiguriert würde, können Sie GetObject aufrufen.

Siehe auch

Konzepte

Auswählen von Kommunikationsoptionen in .NET

Weitere Ressourcen

Erstellen einer .NET Framework-Basisremoteanwendung
Übersicht über .NET Framework-Remoting
Remotingbeispiele