2008-08-25 7 views
1

Étant donné que mon code client connaît tout ce dont il a besoin concernant l'objet distant, quelle est la manière la plus simple de s'y connecter?Quelle est la manière la plus simple de se connecter à un objet serveur distant .NET

C'est 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)); 

Répondre

1

Les deux premières lignes sont dans le code côté serveur, pour marshaling out l'objet serveur, oui?

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

En outre, vous pouvez servir des objets côté serveur supplémentaires de la MyServerObject exemple, si vous incluez accesseurs publics pour eux dans IRemoteServer l'interface, donc, l'accès à ces objets deviennent la simple question des appels de méthode ou de biens accès sur votre objet serveur principal, donc vous n'avez pas besoin d'utiliser l'activateur pour chaque chose:

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

WCF.

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

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

Questions connexes