无法接收来自 Windows 应用程序对 C# Web API 的 HTTP Post 请求的响应

Unable to receive response from HTTP Post request to C# Web API from Windows Application

我在某个域中托管了一个 C# Web API 应用程序。
使用 postman 所有 web api 都按预期工作,包括在使用它的应用程序中。

现在我有一个场景,在 我需要从 托管的 C# Web API 发出 POST 请求=]C# Windows 应用程序.

我已经尝试 Google(ing) 这个问题,但只能找到部分解决方案。

当我使用 Postman 调用我的网站时api;这是我得到的 actual/required JSON 响应:

{
    "access_token": "7oIHQgUyb4NJc-kAc4Ce7Xa1ly5vKCaoxh0w-3PDixpvZtJkBLy7dg6kyE0gp_EZ_9pmh7LC06ztBKNyLbpLcruV9uHEVvIrvKvt0zowUv3Ho9sDGddvGy808N_tliljM8HYe4wJlcwlE9VzlWEv7bz3CNRNj_o9WLqPjcRTu2LN9wMAyMSXGdI_rE2guw-1w1W6aoDgr71x61InbRJ_DNqNpH0MhIUprhTeEVh59WEaq76FLErHTo3TXUTcjximVlxHQPZWh0gWN3dX7sI_Wz60RUK_h4SZO2VZ3QWZivPXX8CsOlXaullq0MnSLogb",
    "token_type": "bearer",
    "expires_in": 28799,
    "Username": "Gomesdenver",
    "UserId": "490253d0-79f6-4aed-96a9-5a041375d84c",
    "Role": "3b55f063-eb24-4e76-b30d-c2509c37fd8a",
    "DisplayAY": "2019-2020"
}


请看下图(邮递员请求的响应就是我要的):

我的C#Windows代码如下:

public async Task<string> LoginUser(string Username, string Password, Notifier notification)
{
    string strResult = string.Empty;
    dynamic res;
    HttpClient client = new HttpClient();
    try
    {
        notification("Attempting to contact database. Please wait..");
        await Task.Delay(750);

        var dict = new Dictionary<string, string>();
        dict.Add("username", "GomesDenver");
        dict.Add("password", "MyPassword");
        dict.Add("grant_type", "password");

        client.BaseAddress = new Uri("http://dummyuri.com/");
        client.DefaultRequestHeaders
            .Accept
            .Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));
        HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "token")
        {
            Content = new FormUrlEncodedContent(dict)
        };

        res = client.SendAsync(request).Result;
    }
    catch (Exception ex)
    {
        strResult = ex.Message.ToString();
    }
    finally
    {
        // Do nothing
    }

    return strResult;
}

一切正常;但我无法像邮递员那样获取回复。 我使用这段代码得到的结果是:

我正在获取 "OK" 状态代码,但如何才能访问此请求的 JSON 响应? 如何在我的 C# Windows 应用程序代码中获取令牌值。

提前致谢。

利用 HttpResponseMessage Class

        HttpResponseMessage httpResponseMessage = await client.SendAsync(request);
        string response = await httpResponseMessage.Content.ReadAsStringAsync();