Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zum Erstellen eines Clients für den Remotetyp, der in Erstellen eines remotefähigen Typs definiert und von der in Erstellen einer Hostanwendung erstellten Anwendung gehostet wird, muss die Anwendung als Client für das Remoteobjekt registriert werden und dieses anschließend aufrufen, als ob es sich in der Anwendungsdomäne des Clients befinden würde. Das .NET Remoting-System fängt die Clientaufrufe ab, leitet sie an das Remoteobjekt weiter und gibt die Ergebnisse an den Client zurück. Das folgende Codebeispiel veranschaulicht das Erstellen eines einfachen Remoteclients.
' Client.vb
Imports System
Imports System.Runtime.Remoting
Public Class Client
Public Shared Sub Main()
RemotingConfiguration.Configure("Client.exe.config")
Dim remoteObject As New RemotableType()
Console.WriteLine(remoteObject.StringMethod())
End Sub 'Main
End Class 'Client
[C#]
// Client.cs
using System;
using System.Runtime.Remoting;
public class Client{
public static void Main(){
RemotingConfiguration.Configure("Client.exe.config");
RemotableType remoteObject = new RemotableType();
Console.WriteLine(remoteObject.StringMethod());
}
}
Um diese Klasse mit Hilfe der Befehlszeilentools aus dem Lieferumfang von .NET Framework SDK in eine Client- bzw. aufrufende ausführbare Datei zu kompilieren, speichern Sie sie als Client.Spracherweiterung (oder verwenden Sie einen anderen Dateinamen Ihrer Wahl, wobei die Spracherweiterung für die jeweils zu kompilierende Sprache steht). Speichern Sie die Datei in demselben Verzeichnis, in dem auch eine Kopie der RemotableType.dll gespeichert wurde, die im Thema Erstellen eines remotefähigen Typs erstellt wurde. (Beachten Sie, dass dieses Verzeichnis nicht mit dem der Anwendung Listener.exe identisch sein darf. Andernfalls kann nicht mit Sicherheit festgestellt werden, ob ein Remoteverweis empfangen und verwendet wird, da beim Vorhandensein von Anwendungen in ein und demselben Verzeichnis eine Assembly- und Typauflösung auftreten kann.) Geben Sie an der Eingabeaufforderung in diesem Verzeichnis folgenden Befehl ein:
Visual Basic
vbc /r:RemotableType.dll Client.vb
C#
csc /noconfig /r:RemotableType.dll Client.cs
In diesem Befehl lautet der Dateiname wie folgt:
Visual Basic
Client.vb
C#
Client.cs
Wie im Beispiel ersichtlich, muss die Client-Klasse in der Lage sein, die Datei Client.exe.config zu finden, um die Konfiguration für die RemotableType-Klasse zu laden. Die Datei muss in demselben Verzeichnis wie die Datei Client.exe gespeichert werden. Andernfalls wird die Konfigurationsdatei nicht gefunden, und es wird eine Ausnahme ausgelöst. Das folgenden Codebeispiel veranschaulicht die Konfigurationsdatei Client.exe.config für diese Listener- bzw. Hostanwendungsdomäne.
<configuration>
<system.runtime.remoting>
<application>
<client>
<wellknown
type="RemotableType, RemotableType"
url="https://localhost:8989/RemotableType.rem"
/>
</client>
</application>
</system.runtime.remoting>
</configuration>
Diese Datei teilt dem Remotingsystem mit, dass die Typinformationen für das RemotableType-Remoteobjekt in der RemotableType-Assembly gefunden werden können und dass dieser Client unter https://localhost:8989/RemotableType.rem ein RemotableType-Objekt erstellen und verwenden muss. Weitere Informationen über das URL-Attribut in dieser Konfigurationsdatei finden Sie unter Aktivierungs-URLs. Wenn Sie die Anwendung über ein Netzwerk ausführen möchten, müssen Sie anstelle von "localhost" in der Clientkonfiguration den Namen des Remotecomputers einsetzen.
Hinweis Obwohl die oben genannte Konfigurationsdatei nur wenige Einstellungen enthält, treten hier die meisten Probleme bei der Verwendung von .NET Remoting auf, da einige dieser Einstellungen falsch sein können oder nicht den Konfigurationseinstellungen für Clientanwendungen entsprechen. Leicht kann ein Name falsch eingegeben, ein Anschluss vergessen oder ein Attribut ignoriert werden. Wenn Probleme mit der Remoteanwendung auftreten, überprüfen Sie zunächst die Konfigurationseinstellungen.
Siehe auch
Erstellen einer grundlegenden .NET Remoting-Anwendung | Konfiguration | Serveraktivierung | Schema für Remoteeinstellungen | <wellknown>