J'ai une application .NET 2.0. Dans cette application, j'ai besoin de transmettre des données à mon serveur. Le serveur expose une URL REST à laquelle je peux envoyer des données. Lorsque je renvoie des données à mon serveur, je dois parfois le faire de manière asynchrone et d'autres fois, j'ai besoin d'un appel bloquant. Dans le scénario de l'appel asynchrone, j'ai besoin de savoir quand l'appel est terminé. Tout jusqu'à ce point, je comprends comment faire.Appel asynchrone avec une méthode statique en C# .NET 2.0
Lorsque j'ai des problèmes, la méthode sur laquelle je travaille DOIT être statique. C'est le code dont j'ai hérité, et je préfère ne pas avoir à refaire tout ce code. À l'heure actuelle, j'ai deux méthodes statiques:
public static string SendData (...) {
}
public static string SendDataAsync(...) {
}
Le string
renvoyé est un code de réponse du serveur. La partie statique me donne des ajustements. Cela ne cause pas de problème dans ma version de blocage. Cependant, dans le concours de l'appel asynchrone, je ne sais pas quoi faire.
Quelqu'un a-t-il des idées qu'il peut fournir?
wrap Juste l'appel de blocage dans un délégué et d'utiliser son async mécanisme. – leppie
Vous devrez changer la signature de votre méthode statique. Vous devrez soit renvoyer un objet qui indiquera quand l'opération est effectuée et contenir le résultat (c'est-à-dire IAsyncResult'), transmettre un délégué de rappel, exposer un événement statique ou autre chose. Vous ne serez pas en mesure d'exposer la chaîne directement, sauf si vous bloquez, auquel cas ce n'est pas asynchrone. – Servy
@Servy pouvez-vous montrer du code en référence à ce que vous voulez dire? Si c'est ce que cela ressemble, je voudrais vous donner le crédit pour la réponse. –