Freigeben über


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.

txct33xt.note(de-de,VS.100).gifHinweis:
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

  1. Definieren Sie eine Klasse, die sich von der MarshalByRefObject-Klasse ableitet.

       Public Class RemotableType
          Inherits MarshalByRefObject
        …
    End Class
    
    public class RemotableType : MarshalByRefObject
    {
        …
    }
    
  2. 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";
    }
    
  3. Erstellen Sie ein Verzeichnis mit dem Namen remoting\type, und speichern Sie die Klasse als RemotableType.cs oder RemotingType.vb im neuen Verzeichnis. Öffnen Sie eine Eingabeaufforderung, navigieren Sie zum Verzeichnis remoting\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