Question

Étant donné que mon code client sait tout ce dont il a besoin sur l'objet distant, quel est le moyen le plus simple de s'y connecter ?

Voilà ce que je fais en ce 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));
Était-ce utile?

La solution

Les deux premières lignes se trouvent dans le code côté serveur, pour rassembler l'objet serveur, n'est-ce pas ?

Dans ce cas, oui, la troisième ligne est la plus simple que vous puissiez obtenir côté client.

De plus, vous pouvez diffuser des objets supplémentaires côté serveur à partir du MonObjetServeur par exemple, si vous incluez des accesseurs publics pour eux dans IRemoteServer interface, donc l'accès à ces objets devient une simple question d'appels de méthode ou d'accès aux propriétés sur votre objet serveur principal, vous n'avez donc pas besoin d'utiliser l'activateur pour chaque chose :

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

Autres conseils

WCF.

J'ai utilisé IPC avant qu'il y ait un WCF, et croyez-moi, IPC est un ours.Et ce n'est pas documenté entièrement/correctement.

Quelle est la manière la plus simple de se connecter à un objet serveur distant .NET ?WCF.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top