猿问

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

我在控制台应用程序中有以下代码。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();

    }

}


狐的传说
浏览 161回答 2
2回答

猛跑小猪

我通过将ForEach更改为:foreach (var guid in userGuids){&nbsp; &nbsp; await LookUpUserInSecurityApi(guid);}
随时随地看视频慕课网APP
我要回答