我正在开发适用于 Windows 8 的应用程序。我有一个名为“用户”的 C# 类。用户有一个称为身份验证的方法。我的方法看起来像这样:
public class User
{
public bool IsAuthenticated { get; set; }
public async void Authenticate(string username, string password)
{
// Code to build parameters and url is here
var response = await httpClient.PostAsync(myServiceUrl, new StringContent(json, String.Text.Encoding.UTF8, "application/json"));
JsonObject result = JsonObject.Parse(await response.Content.ReadAsStringAsync());
}
}
Authenticate 方法有效。它成功地击中了我的服务并返回了适当的细节。我的问题是,如何检测此方法何时完成?我正在调用此方法以响应用户单击我的应用程序中的“登录”按钮。例如,像这样:
private void loginButton_Click(object sender, RoutedEventArgs e)
{
User user = new User();
user.IsAuthenticated = false;
user.Authenticate(usernameTextBox.Text.Trim(), passwordBox.Password.Trim());
if (user.IsAuthenticated)
{
// Allow the user to enter
}
else
{
// Handle the fact that authentication failed
}
}
本质上,我需要等待 authenticate 方法完成其执行。但是,我不知道该怎么做。我究竟做错了什么?
谢谢