Dans Visual Studio j'ai créé un service Web (et vérifié "générer des opérations asynchrones") sur cette URL:Comment appeler ce service Web de manière asynchrone?
et peut obtenir les données sur synchrone mais ce qui est la syntaxe pour obtenir les données asynchrone?
using System.Windows;
using TestConsume2343.ServiceReference1;
using System;
using System.Net;
namespace TestConsume2343
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
GlobalWeatherSoapClient client = new GlobalWeatherSoapClient();
//synchronous
string getWeatherResult = client.GetWeather("Berlin", "Germany");
Console.WriteLine("Get Weather Result: " + getWeatherResult); //works
//asynchronous
client.BeginGetWeather("Berlin", "Germany", new AsyncCallback(GotWeather), null);
}
void GotWeather(IAsyncResult result)
{
//Console.WriteLine("Get Weather Result: " + result.???);
}
}
}
Réponse:
Merci TLiebe, avec votre EndGetWeather suggestion que j'ai pu le faire fonctionner comme ceci:
using System.Windows;
using TestConsume2343.ServiceReference1;
using System;
namespace TestConsume2343
{
public partial class Window1 : Window
{
GlobalWeatherSoapClient client = new GlobalWeatherSoapClient();
public Window1()
{
InitializeComponent();
client.BeginGetWeather("Berlin", "Germany", new AsyncCallback(GotWeather), null);
}
void GotWeather(IAsyncResult result)
{
Console.WriteLine("Get Weather Result: " + client.EndGetWeather(result).ToString());
}
}
}
Quelle est l'erreur? Est-ce que rien n'a imprimé? Eh bien, il ne le fera pas si le code est commenté. – leppie
bien si je viens de sortie "résultat", il imprime: Obtenir le résultat météo: System.ServiceModel.Channels.ServiceChannel + SendAsyncResult, je ne sais pas où les données sont dans l'objet "résultat", je veux accéder aux données comme Je fais avec "e.Result" dans cet exemple: http://tanguay.info/web/index.php?pg=codeExamples&id=205 –
quelle version .net? –