Ptlpn
Messages postés16Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 9 février 2005
-
9 août 2004 à 17:45
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 2007
-
10 août 2004 à 23:34
bonjour a tous,
J ai cree une application sous c# (window application), et je souhaitais lui faire deployer un web service pour recuperer des valeurs internes a l appli. Pour cela, j ai cree mon fichier .asmx et mon .asmx.cs, et j ai cree les methodes dont j avais besoin.
Ensuite, pour creer ma dll dont le web service a besoin, je suis alle dans les proprietes de mon projet, et j ai change mon type de sortie de "application window" a "bibliotheque de classe".
Or lorsque j appele mon web service, j ai remarque qu il me retournait les valeurs d initialisation de mes variables, et non pas les valeurs courantes, dynamique de l application en train de tourner.
Est-ce que ma methode de deploiement d un web service sur une appli existante est correcte, ou y a t il un moyen plus simple?
Et pourquoi mon web service ne me retourne pas les valeurs desirees?
Ptlpn
Messages postés16Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 9 février 2005 9 août 2004 à 21:37
Ok, je la refais moins crispe...
J ai une appli qui tourne, et qui deploie un web service. Ce web service permet de recuperer la valeur d un des parametres de mon appli (bien entendu, ce parametre change de valeur au cour de l execution).
Or, lorsque j appele ce web service avec un client, la reponse reste toujours la meme: la valeur d initialisation du parametre, et non sa valeur "dynamique" au cours de l execution de mon appli.
Donc je me pose la question de savoir si c est mon deploiement du web service qui est mauvais, ou si c est du a autre chose.
Ptlpn
Messages postés16Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 9 février 2005 9 août 2004 à 22:16
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;
namespace MyAppli
{
[WebService (Namespace = "MyAppli")]
public class WebService : System.Web.Services.WebService
{
public WebService()
{
InitializeComponent();
}
#region Code généré par le Concepteur de composants
//Requis par le Concepteur des services Web
private IContainer components = null;
[WebMethod]
public int retrieveMsgId()
{
return MyAppli.msgid;
}
}
}
msgid est un public static int de ma classe principale de mon appli (MyAppli).
Cote client, j ai fais ajoute une reference web vers ce web service, puis j ai instancie la classe proxy et j appele la methode (retrieveMsgId()) de cet objet.
Vous n’avez pas trouvé la réponse que vous recherchez ?
taharban
Messages postés56Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention14 novembre 2007 10 août 2004 à 10:01
Pour partager ta variable tu peux l'enregistrer dans un fichier ou une base de données au moment où elle change (côté application winform).
Ensuite quand ton web service est appelé, tu vas lire l'info dans la fichier ou la base de données.
Ptlpn
Messages postés16Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 9 février 2005 10 août 2004 à 15:44
Tu as raison The Saib, je n avais pas bien compris le fonctionnement des web services...
Pour ce qui est de l enregistrement de la variable, ca marcherais, mais mon web service ne fais pas que ca, et le reste ne peut pas etre resolu avec une bdd...
On m a propose que mon web service lance mon appli (creer une instance de mon appli dans le constructeur du web service), et ainsi que les methodes du WS s appliquent sur l instance cree.
Ceci se fait bien apparement sous apache ou on peut arreter et relancer des web services, mais je n ai pas reussi a arriver a faire la meme chose sous IIS.
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 200723 10 août 2004 à 23:34
Si ton WS lance une appli ce sera seulement sur le meme ordinateur que celui qui possède le webservice dans ce cas là un WebService ne t'es donc d'aucune utilité, un service windows le sera beaucoup plus !