Frage

Da mein client-code weiß alles, was es braucht, um über das remoting-Objekt, was ist der einfachste Weg, um eine Verbindung herzustellen?

Dies ist, was ich mache im moment:

ChannelServices.RegisterChannel(new HttpChannel(), false);

RemotingConfiguration.RegisterWellKnownServiceType(
    typeof(IRemoteServer), "RemoteServer.rem", WellKnownObjectMode.Singleton);

MyServerObject = (IRemoteServer)Activator.GetObject(
    typeof(IRemoteServer),
    String.Format("tcp://{0}:{1}/RemoteServer.rem", server, port));
War es hilfreich?

Lösung

Die ersten beiden Zeilen in der server-side-code, für das Marshalling aus dem server-Objekt, ja?

In diesem Fall, ja, die Dritte Zeile ist die einfachste, die Sie bekommen können auf client-Seite.

Außerdem können Sie dazu dienen, zusätzliche server-seitige Objekte aus der MyServerObject Beispiel, wenn Sie öffentliche Accessoren für Sie IRemoteServer interface, so, Zugriff auf jene Objekte werden, die einfach eine Frage der Methode, anrufen oder Eigentum Zugriff auf Ihre wichtigsten server-Objekt, so dass Sie nicht haben zu verwenden Aktivator für jede einzelne Sache:

//obtain another marshalbyref object of the type ISessionManager:
ISessionManager = MyServerObject.GetSessionManager();

Andere Tipps

WCF.

Ich habe verwendet, IPC, bevor es eine WCF, und glauben Sie mir, IPC ist ein Bär.Und es ist nicht dokumentiert vollständig/korrekt.

Was ist der einfachste Weg, um eine Verbindung zu einem .NET remote-server-Objekt?WCF.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top