我有一个使用await
的简单方法。但问题是,一旦我到达该行,程序的执行就会停止,我不知道为什么。这是我的代码.. < / p>
public async void GetUserdetails() {
var upn = "Custom Name";
var userLookupTask = activeDirectoryClient.Users.Where(
user => user.UserPrincipalName.Equals(
upn, StringComparison.CurrentCultureIgnoreCase)).ExecuteSingleAsync();
User userJohnDoe = (User)await userLookupTask;
Console.WriteLine(userJohnDoe.UserPrincipalName);
Console.WriteLine(userJohnDoe.DisplayName);
Console.ReadLine();
}
有任何方法可以让执行运行并在Console.Please帮助上查看值。感谢..
答案 0 :(得分:6)
我怀疑您的控制台应用只是退出。
要阻止您的控制台应用退出,您应该从Task
返回GetUserdetails
并在该任务上致电Wait
:
static void Main()
{
GetUserDetailsAsync().Wait();
}
static async Task GetUserDetailsAsync()
{
...
}
请注意,Wait
通常不用于异步编程;它通常仅在控制台应用的Main
方法中使用一次。
或者,您可以将ReadLine
移到Main
方法中。