J'ai un service Web (WSDL) et certaines méthodes async void (je ne peux pas le changer pour retourner la tâche) pour appeler des demandes plus longues.Obtenir la valeur renvoyée par void Méthode asynchrone
Comment puis-je obtenir les valeurs de résultat de cette méthode?
Sur le service Web, j'ai EventHandlers, EventArgs (que j'ai besoin d'utiliser sur le délégué EventHandle). Donc, la question fondamentale est, comment puis-je comprendre toutes ces choses pour obtenir mes résultats?
Je cela, jusqu'à présent:
//Methods signatures
getSomethingCompletedEventArgs(object[] results, Exception, bool, object userState)
getSomethingCompletedHandler(object sender, Service.getSomethingCompletedEventArgs)
//Didn't build
Service srv = new Service()
srv.getSomethingCompleted += new getSomethingCompletedEventHandler(srv.getSomethingAsync);
//Other try
var args = new getSomethingCompletedEventArgs(null, new Exception(), false, "");
//Didn't build too (Method name expected)
srv.getSomethingCompleted += new getSomethingCompletedEventHandler(args);
//This built, but I don't know how to get the results
public async static void GetSomething()
{
await Task.Run(() => srv.getSomethingAsync(arg1,arg2,arg3));
}
Les méthodes 'void' n'ont pas de valeurs de retour, que pensez-vous pouvoir en obtenir? – DavidG
Sans une plus grande quantité d'informations environnantes sur ce que fait réellement votre application, il est même difficile de comprendre votre question. Lorsque vous effectuez une requête asynchrone, vous devez désigner un "callback" qui finira par recevoir des "événements" indiquant le succès ou l'échec. Dans les différents bits de code ci-dessus marqués "Autre essai" et ainsi de suite, il semble que vous trébucher dans plus ou moins la bonne direction, mais ne l'avez pas encore tout à fait raison, et abandonné beaucoup trop bientôt. –
DavidG, les appels qui * émettent * les requêtes peuvent en effet être correctement "vides", car * ils * ne renvoient pas de valeur. Les valeurs qui peuvent être «retournées» seront fournies, à un moment futur inconnu, lorsque l'un des événements prévus se produira. Les valeurs feront partie des données fournies, avec l'événement, à ces gestionnaires. –