为了账号安全,请及时绑定邮箱和手机立即绑定

这个异步链的实现有什么问题?

这个异步链的实现有什么问题?

C#
狐的传说 2021-05-03 16:25:07
我在控制台应用程序中有以下代码。LookUpUser方法被调用,而PostAsJsonAsync被调用,但是响应检查中的断点此后不会被命中。我在此实现中做错了什么?static void Main(string[] args){    TestUseCase().GetAwaiter().GetResult();}private static async Task TestUseCase(){    await GetUserGuids();}private static async Task GetUserGuids(){    var userGuids = new List<Guid>();    userGuids.Add(Guid.Parse("7b5cf09c-196c-4e0b-a0e2-0683e4f11213"));    userGuids.Add(Guid.Parse("3a636154-b7fc-4d96-9cd1-d806119ff79f"));    userGuids.ForEach(async x => await LookUpUser(x));}private static async Task LookUpUser(Guid adUserGuid){    var client = new HttpClientManager().GetHttpClient();    var response = await client.PostAsJsonAsync("api/v1/users/search", new { ADUserGuid = adUserGuid });    if (response.IsSuccessStatusCode)    {        var groups = await response.Content.ReadAsAsync<List<User>>();    }    else //not 200    {        var message = await response.Content.ReadAsStringAsync();    }}
查看完整描述

2 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

我通过将ForEach更改为:


foreach (var guid in userGuids)

{

    await LookUpUserInSecurityApi(guid);

}


查看完整回答
反对 回复 2021-05-08
  • 2 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信