2008-08-25 9 views
1

Da mein Client-Code alles über das Remoting-Objekt weiß, was ist der einfachste Weg, um es zu verbinden?Was ist der einfachste Weg, um eine Verbindung zu einem .NET-Remote-Server-Objekt herzustellen

Das ist, was ich im Moment tun:

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)); 

Antwort

1

Die ersten beiden Zeilen befinden sich im serverseitigen Code zum Marshallen des Serverobjekts, ja?

In diesem Fall ist ja die dritte Zeile die einfachste, die Sie auf der Client-Seite erhalten können.

Darüber hinaus können Sie zusätzliche serverseitige Objekte aus der MyServerObject Instanz absitzen, wenn Sie öffentliche Accessoren für sie in IRemoteServer Schnittstelle umfassen, so, diese Objekte werden die einfache Frage der Methodenaufrufe oder Eigenschaft zugreifen greift auf Ihr Hauptserverobjekt zu, so dass Sie für jede einzelne Sache keinen Aktivator verwenden müssen:

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

WCF.

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

Was ist der einfachste Weg, um eine Verbindung zu einem .NET-Remote-Server-Objekt herzustellen? WCF.

Verwandte Themen