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));
È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top