Afficher les messages SQL récupérés par un WebService dans mon client - C#/.NET managed - Programmation
Marsh Posté le 17-10-2008 à 20:58:50
si j'ai bien compris ce que tu veux faire. je crois que tu as dans ce cas absolument rien compris au fonctionnement des pages ASPX.
Ce n'est pas le serveur (IIS) qui déclenche le raffraichissement, mais le client (le Browser). Si tu travail en mode asynchrone, ça ne va pas bien marcher.
Donc pour moi, le soucie il vient de la. de ta mauvaise compréhension du fonctionnement des pages web ASPX.
Bien sûre qu'on me corrige si je me trompe.
Tu as essayé de voir ce que ça donne en debug?
Marsh Posté le 18-10-2008 à 14:29:52
Faut utiliser un poil d'AJAX pou le refresh c'est tout...
Ou alors mettre un Timer et reload la page tout les x temps. Mais là faut testé si on est dans un postback ou pas. Mais ça serait quand meme moche je pense.
Marsh Posté le 18-10-2008 à 20:13:42
Comment ça j'ai rien compris ?
En fait j'ai fait une erreur dans mon message de départ, c'est pas du WebForm mon client mais du WinForm. Pardon
Et le mode asynchrone fonctionne plutôt bien, sauf dans mon cas un peu compliqué.
Dans mon code, les 2 parties suivantes fonctionnent bien mais uniquement séparément. Quand je les mets ensemble, ça marche pas bien :
- le serveur envoie plusieurs réponses asynchrones au client, pour un seul appel du client
- SQL Server envoie les messages périodiquement au serveur
AJAX ? C'est pour le WebForm nan ? Moi c'est du WinForm
Marsh Posté le 22-10-2008 à 19:43:56
Ouf tu m'as fait peur. Si c'est du Winform c'est normal.
Pas normal qu'il t'envoit plusieurs requête. Tu veux dire que tu passes plusieurs fois dans ta méthode "service_GetMessageCompleted"?
tu ne fais bien qu'une fois:
Service service = new Service();
service.GetMessageCompleted += new GetMessageCompletedEventHandler(service_GetMessageCompleted);
???
Marsh Posté le 17-10-2008 à 20:23:20
Bonjour,
J'essaie de faire un truc un peu compliqué... et je ne suis pas loin du but !
J'ai une appli WinForm (C# 2.0) qui va chercher ses données en base SQL Server 2005 via un WebService (C# 2.0). Il n'y a donc pas d'accès direct entre l'appli et la base, le WebService jouant le rôle de proxy.
Le but est d'exécuter une procédure stockée et d'afficher dans mon client les messages d'information de la proc stock en temps réel dans mon client.
Je suis arrivé à le faire quand mon client est directement connecté à la base (grâce à ce thread : http://www.developpez.net/forums/d [...] mme-csharp)
Par contre, avec le WebService au milieu, ça ne fonctionne pas entièrement.
Je me suis beaucoup inspiré de l'article ici :
http://www.codeproject.com/KB/webs [...] vents.aspx
--------
Au cas où ça pourrait aider, voici mon code.
Partie serveur
Partie client
Désolé pour les variables et classe dont vous ne voyez pas la déclaration.
Mais globalement, mon code fonctionne puisque dans mon client le dernier message renvoyé pas SQL s'affiche bien. Mais les messages d'avant qui devraient apparaître les uns après les autres et espacés de qq secondes ne s'affichent pas...
Merci bien pour votre aide
Message édité par Roodie le 18-10-2008 à 20:14:07