我需要調用一個web服務,所以我添加了web服務作爲web引用,我可以調用它。現在我需要調用異步方式,因爲它需要下載大量數據,並且花費很多時間。我試圖使用async/await方法,但我無法做到這一點,因爲webservice中的方法不是異步的。異步調用webservice
原始代碼:
public static void validateLogin(JsonParameters _param, ref ValidateCredentials result, ref string excep_error)
{
var _mobileService = new MobileService();
_mobileService.Url = AppParam.IISSTRING + "/UrlAddressReference";
try
{
result = _mobileService.downloaddata(_param);
}
catch (Exception ex)
{
excep_error = ex.Message;
}
}
我嘗試添加異步任務到位的空隙,使異步方法,但我怎麼能等待web服務的響應?
在我添加web服務作爲web引用後,我可以看到它爲其中的每個方法創建了一個異步方法和已完成的事件。我怎樣才能使用它們? (例如:downloaddata", a method name
下載數據同步和一個事件「downloaddatacompleted」)
有沒有辦法做到這一點,或者我需要更改web服務?
「MobileService.downloaddata」調用的實現是什麼樣的,因爲這是很可能需要從頭開始的地方。 –