J'utilise une application ASP.NET avec un service Web et, pour une raison quelconque, l'une des méthodes de service Web est ignorée. Je suis sûr que c'est un problème assez simple, mais ça m'a bloqué pendant plus d'une journée. Suis-je mettre l'appel de la méthode dans la mauvaise méthode, je suppose que OnPreRender gérerait tout avant le chargement des fins de la page. Je suis assez confiant que le problème est dans cette zone, si je définissez le ImageLoc de l'objet de formulaire à une URL lorsqu'il est instancié il charge dans la page ASP.NET très bien.Méthode de service Web ignorée?
Je ne pense pas avoir omis de code pertinent, mais si vous avez besoin de voir quelque chose d'autre laissez-moi savoir. L'objet de formulaire est juste quelques propriétés avec get/set donc je l'ai omis. Veuillez également noter que les paramètres de chaîne seront changés en quelque chose d'autre, j'essaie simplement de mettre en place le travail de base.
.aspx.cs:
localhost.MobileFormServices wsMobile = new localhost.MobileFormServices();
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
//Call the web service to pass image URL
wsMobile.NewForm("parameters");
FormImage.ImageUrl = wsMobile.FormProperties().ImageLoc;
}
méthodes de service Web:
//new form object instance
private FormLibrary.Form form = new FormLibrary.Form();
//adds the image location to the form object
[WebMethod]
public void NewForm(String parameters)
{
form.ImageLoc = "http://www.prelovac.com/vladimir/wp-content/uploads/2008/03/example.jpg"; //breakpoint here, never hit
}
[WebMethod]
public FormLibrary.Form FormProperties()
{
return this.form;
}
Cela a du sens pour moi, mais comment recommanderiez-vous de corriger cela? – turbo
Je l'ai pensé, passerait un objet de forme à l'application asp.net, l'utilisant/le modifiant, puis le renvoyant par le service Web le résoudre? Je vais essayer ça maintenant. – turbo
Vous pouvez stocker FormLibrary.Form comme statique, mais cela se terminerait dans toutes les pages partageant le même formulaire qui est probablement mauvais mais dépend de chaque projet. L'autre façon est de le stocker dans la session ou dans une base de données de magasin externe. Ou si vous utilisez vraiment deux appels dans votre application, vous devriez peut-être en faire un? Dans cet exemple, le second appel n'a pas de sens. Le premier appel devrait renvoyer ce dont vous avez besoin. Si vous trouvez cette réponse utile s'il vous plaît upvote :) –