Я звоню в этот статический метод входа с именем пользователя и паролем. Я хочу, чтобы он подождал, пока он не завершит загрузку downloadstringasync. За бесстрашную жизнь я не могу заставить ее подождать.Как сделать обратный вызов ждать завершения async C#
Я попытался Oldschool
while(wc.IsBusy){} //Which froze
также попробовал разнообразие асинхронной гречихи Didnt даже компилировать
public static dbObj Login(String username, String password)
{
dbObj ret = new dbObj();
String rawWebReturn = "";
ret.propBag.Add(_BAGTYPE,returnTypes.Login.ToString());
DateTime date = DateTime.Now;
WebClient wc = new WebClient();
wc.DownloadStringAsync(new Uri(baseLoginURI + "uname=" + username + "&pword=" + password + "&date=" + date.ToString()));
wc.DownloadStringCompleted += (s,e) => {
if(e.Error!=null)
rawWebReturn = e.Error.Message;
else
rawWebReturn = e.Result;
};
return parseWebReturn(rawWebReturn,ret);
}
Если вы хотите, чтобы это было синхронно, почему бы просто не вызвать синхронный метод 'DownloadString'? –
Потому что он не существует в телефоне Windows. –
Спасибо за разъяснение платформы. Это говорит вам кое-что. Вы не должны пытаться блокировать. –