Qual è il modo più semplice per connettersi a un oggetto server remoto .NET
-
09-06-2019 - |
Domanda
Dato che il mio codice client sa tutto ciò di cui ha bisogno sull'oggetto remoto, qual è il modo più semplice per connettersi ad esso?
Questo è quello che sto facendo in questo momento:
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));
Soluzione
Le prime due righe sono nel codice lato server, per il marshalling dell'oggetto server, sì?
In tal caso sì, la terza riga è la più semplice che puoi ottenere lato client.
Inoltre, puoi fornire ulteriori oggetti lato server dal file MioServerObject ad esempio, se includi accessori pubblici per loro in IRemoteServer interfaccia, quindi l'accesso a tali oggetti diventa una semplice questione di chiamate di metodi o accessi alle proprietà sull'oggetto server principale, quindi non è necessario utilizzare l'attivatore per ogni singola cosa:
//obtain another marshalbyref object of the type ISessionManager:
ISessionManager = MyServerObject.GetSessionManager();
Altri suggerimenti
WCF.
Ho usato IPC prima che esistesse un WCF e, credetemi, IPC è un orso.E non è documentato completamente/correttamente.
Qual è il modo più semplice per connettersi a un oggetto server remoto .NET?WCF.