Remoting - envoyer un form [Résolu]

Signaler
Messages postés
19
Date d'inscription
mardi 3 décembre 2002
Statut
Membre
Dernière intervention
1 septembre 2010
-
Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 mai 2009
-
Bonjour,

Je debute en remoting.
J'aimerais savoir s'il es possible de réaliser la chose suivante :

J'ai sur une machine, un serveur qui execute des requetes sur une base de données.
En client client, se connecte au serveur, fait une demande de requete, et c'est le serveur qui fait la requete sur le SGBD et retourne le resultat au client.
Ma classe de connexion se trouve sur le serveur. Le client ne connait qu'une itnerface.

Parmis les methodes de connexion disponibles dans l'interface, il y a :

bool init (string login, string password) qui permet au serveur de se connecter au SGBD avec le login et password transmis. Cette fonction marche tres bien.

bool init () qui affiche un formulaire de connexion avec 2 champs text (1 pour le login, 1 pour le password).

Mon probleme est le formulaire s'affiche bien, mais conté Serveur et pas coté client !!!!!!!

Mes parametres pour le remoting sont, coté serveur :


TcpChannel chnl = new TcpChannel(8085);
ChannelServices.RegisterChannel(chnl);
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(factory),"IConnexionFactory",WellKnownObjectMode.SingleCall);

ou IConnexionFactory est mon interface

et coté client :


TcpChannel chnl = new TcpChannel();
ChannelServices.RegisterChannel(chnl);

this.fact = (IConnexionFactory)Activator.GetObject(
typeof(IConnexionFactory),"tcp://172.16.5.38:8085/IConnexionFactory");



Merci de votre aide.

5 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Effectivement, ce n'est pas faisable directement parce qu'une Form n'a pas l'attribut Serializable.
Une solution pour résoudre ce problème, c'est de créer une class qui dérive de ISerializable et d'implémenter toi-même la façon dont devra être serializé ton Control....

Mais bon, c'est certainement pas un petit travail étant donné la taille de la class Form....

<hr />
-Blog-
Messages postés
119
Date d'inscription
mercredi 15 octobre 2003
Statut
Membre
Dernière intervention
21 juillet 2009

il faut créer le formulaire coté client et faire appel au serveur seulement une fois les champs  renseignés
Messages postés
19
Date d'inscription
mardi 3 décembre 2002
Statut
Membre
Dernière intervention
1 septembre 2010

Mon probleme est justement que je ne veux pas créer le formulaire coté client, je voudrais le laisser coté serveur.
Est ce possible ?
Messages postés
119
Date d'inscription
mercredi 15 octobre 2003
Statut
Membre
Dernière intervention
21 juillet 2009

La classe Form n'étant pas sérializable je ne pense pas que ce soit possible
Messages postés
42
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
31 mai 2009

Oui, mais si le Form à déjà été crée au préalable coté serveur: comment demander au client d'ouvrir ce Form coté serveur?