Tôi nên tham khảo HttpClient
bằng cách sử dụng tệp project.json
như thế nào?
Tôi muốn cả hai khung làm việc: dnx451
và dnxcore50
.Tôi nên tham khảo HttpClient như thế nào đối với dnx451 và dnxcore50?
Đây là nỗ lực hiện tại của tôi tại tệp project.json
. (Tôi đã xóa các phần không liên quan.)
{
"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": { }
}
}
Khám phá các phụ thuộc mà tôi đã liệt kê là một quy trình thử và lỗi.
Với project.json
tập tin này, bối cảnh dnxcore50
đúng cách giải quyết tất cả các lớp trong ví dụ này khối mã, nhưng nó thất bại trong việc giải quyết HttpRequestMessage
, HttpMethod
, và MediaTypeWithQualityHeaderValue
với dnx451
bối cảnh:
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>();
Xem [this] (http://stackoverflow.com/questions/27946798/httpclient-in-asp-net-5-0-not-found/27949353#27949353) –
@YuvalItzchakov Điều đó có mọi thứ hoạt động trong dnx451 ngữ cảnh ngoại trừ phương thức mở rộng 'ReadAsAsync' trên' HttpContent'. Nó là một thành viên của lớp 'HttpContentExtensions' trong không gian tên' System.Net.Http'. Bất kỳ ý tưởng lắp ráp khung hoặc phụ thuộc tôi cần cho điều đó? Đây là một trợ giúp lớn, bằng cách này! –
@YuvalItzchakov Với sự giúp đỡ của bạn, tôi đã tìm ra. Xem câu trả lời của tôi. –