Vorgehensweise: Erstellen eines remotefähigen Typs
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.
Damit Objekte in anderen Anwendungsdomänen eine Instanz der Klasse verwenden können, muss die Klasse von MarshalByRefObject erben. Im folgenden Verfahren wird beschrieben, wie Sie ein Basisobjekt erstellen, das aus Objekten erstellt und aufgerufen werden kann, die in einer anderen Anwendungsdomäne ausgeführt werden.
Hinweis: |
---|
Vollständige Anweisungen zum Erstellen und Ausführen dieses Beispiels finden Sie unter Vorgehensweise: Kompilieren und Ausführen einer Basisremoteanwendung. |
So erstellen Sie einen remotefähigen Typ
Definieren Sie eine Klasse, die sich von der MarshalByRefObject-Klasse ableitet.
Public Class RemotableType Inherits MarshalByRefObject … End Class
public class RemotableType : MarshalByRefObject { … }
Implementieren Sie die Methoden und die Eigenschaften für diese Klasse so, wie Sie dies für einen nicht remotefähigen Typ durchführen würden.
Console.WriteLine
wird aufgerufen, damit der Listener eine Zeichenfolge anzeigt. Dies wird später verwendet, um zu veranschaulichen, dass das Remoteobjekt aufgerufen wurde.Public Function SayHello() As String Console.WriteLine("RemotableType.SayHello() was called!") Return "Hello, world" End Function 'StringMethod
public string SayHello(){ Console.WriteLine("RemotableType.SayHello() was called!"); return "Hello, world"; }
Erstellen Sie ein Verzeichnis mit dem Namen
remoting\type
, und speichern Sie die Klasse alsRemotableType.cs
oderRemotingType.vb
im neuen Verzeichnis. Öffnen Sie eine Eingabeaufforderung, navigieren Sie zum Verzeichnisremoting\type
, und geben Sie den folgenden Befehl ein:vbc /t:library RemotableType.vb
csc /noconfig /t:library RemotableType.cs
Beispiel
' RemotableType.vb
Imports System
Public Class RemotableType
Inherits MarshalByRefObject
Public Function SayHello() As String
Console.WriteLine("RemotableType.SayHello() was called!")
Return "Hello, world"
End Function
End Class
// RemotableType.cs
using System;
public class RemotableType : MarshalByRefObject
{
public string SayHello()
{
Console.WriteLine("RemotableType.SayHello() was called!");
return "Hello, world";
}
}
Siehe auch
Aufgaben
Vorgehensweise: Erstellen einer Hostanwendung
Vorgehensweise: Erstellen einer Clientanwendung
Verweis
Schema für Remoteeinstellungen
Konzepte
Konfiguration von Remoteanwendungen
Serveraktivierung
Weitere Ressourcen
Erstellen einer .NET Framework-Basisremoteanwendung
Erstellungsdatum: 2010-02-13