Quelle est la manière la plus simple de se connecter à un objet serveur distant .NET
-
09-06-2019 - |
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));
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.