【发布时间】:2015-06-12 00:38:16
【问题描述】:
我应该如何使用project.json 文件引用HttpClient?
我希望这两个框架都能工作:dnx451 和 dnxcore50。
这是我目前对project.json 文件的尝试。 (我已经删除了不相关的部分。)
{
"dependencies": {
"Microsoft.Net.Http": "2.2.29",
"Microsoft.Net.Http.Headers": "1.0.0-beta4",
"System.Net.Http": "4.0.0-beta-22816"
},
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
"System.Net.Http": "4.0.0.0"
}
},
"dnxcore50": { }
}
}
发现我列出的依赖项是一个反复试验的过程。
使用此project.json 文件,dnxcore50 上下文可以正确解析此示例代码块中的所有类,但无法使用dnx451 上下文解析HttpRequestMessage、HttpMethod 和MediaTypeWithQualityHeaderValue :
var request = new HttpRequestMessage(HttpMethod.Get, "...");
request.Headers.Accept.Clear();
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/..."));
var response = await client.SendAsync(request);
var model = await response.EnsureSuccessStatusCode().Content.ReadAsAsync<SomeModel>();
【问题讨论】:
-
见this
-
@YuvalItzchakov 除了
HttpContent上的ReadAsAsync扩展方法外,这一切都在dnx451 上下文中工作。它是System.Net.Http命名空间中HttpContentExtensions类的成员。知道我需要什么框架程序集或依赖项吗?顺便说一句,这是一个很大的帮助! -
@YuvalItzchakov 在您的帮助下,我想通了。看我的回答。
-
太棒了。很高兴它成功了。
标签: c# .net asp.net-core dotnet-httpclient .net-core