【问题标题】:Making calls to an ASP.NET 5 Web API from a C# class library从 C# 类库调用 ASP.NET 5 Web API
【发布时间】:2016-01-27 16:28:26
【问题描述】:

我有一个使用 ASP.NET 5 创建的 Web API。 我有一个存储库类库(包),需要使用某种 http 客户端调用此 Web api。

如果我想将所有内容都保留在 ASP.NET 5 中,正确的参考包是什么?我尝试引用:“Microsoft.AspNet.WebApi.Client”:“5.2.3”,但它不适用于平台 5.4

【问题讨论】:

    标签: c# asp.net .net asp.net-web-api httpclient


    【解决方案1】:

    https://stackoverflow.com/a/32211585/1365053

    您应该在 NuGet 上使用 System.Net.Http 中的现代 HttpClient 类,它支持 DNXCore。

    https://www.nuget.org/packages/System.Net.Http/

    【讨论】:

    • 好吧,我添加了“System.Net.Http”:“4.0.1-beta-23516”,它似乎工作正常。你知道 ReadAsync 发生了什么吗?它不再可用。我想我必须使用 ReadAsStringAsync 然后转换为 Json...
    • 是这样的:string response = await new HttpClient() .GetStringAsync("uri"); Car obj = JsonConvert.DeserializeObject(response);
    • 知道了。最后一件事你也许能帮到我。如果我不希望我的函数返回 async Task> 而只是 IList 我仍然可以使用异步函数怎么办?我想我可以做类似 Task response = client.GetAsync("api/customers");这有意义吗?
    • coreclr 中的所有 http 调用都是异步的。但如果您不想使用异步等待,您可以随时使用 GetStringAsync("uri").Result .Wait()
    猜你喜欢
    • 2021-10-27
    • 2016-10-04
    • 2019-04-27
    • 2016-04-23
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多