簡體   English   中英

我應該如何為dnx451和dnxcore50引用HttpClient?

[英]How should I reference HttpClient for dnx451 and dnxcore50?

我應該如何使用project.json文件引用HttpClient
我希望兩個框架都能正常工作: dnx451dnxcore50

這是我目前對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上下文解析HttpRequestMessageHttpMethodMediaTypeWithQualityHeaderValue

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>();

截至發布時間(2015年6月11日),這對我來說同時適用於dnx451dnxcore50

{
  "dependencies": {
    "Microsoft.AspNet.WebApi.Client": "5.2.3"
  },
  "frameworks": {
    "dnx451": {
      "frameworkAssemblies": {
        "System.Net.Http": "4.0.0.0"
      }
    },
    "dnxcore50": {
      "dependencies": {
        "System.Net.Http": "4.0.0-beta-22816"
      }
    }
  }
}

我認為蒂莫西的回答是有幫助的,因為它引導我走上正確的道路,但這個問題/答案也是幾個月之久。 從那以后,ASP.NET5已經有了RCed。 這對我現在有用:

{
  "version": "1.0.0-*",

  ...

  "dependencies": {
    "System.Runtime": "4.0.21-beta-23516",
    "Newtonsoft.Json": "6.0.6",
    "Microsoft.CSharp": "4.0.1-beta-23516",
    "System.Net.Http": "4.0.1-beta-23516"
  },
  "frameworks": {
    "dnx451": {
      "dependencies": {
      }
    },
    "dnxcore50": {
      "dependencies": {
      }
    }
  }
}

這似乎與這種更詳細的指定依賴項的方式相似:

{
  "version": "1.0.0-*",

  ...

  "dependencies": {
    "System.Runtime": "4.0.21-beta-23516",
    "Newtonsoft.Json": "6.0.6",
    "Microsoft.CSharp": "4.0.1-beta-23516"
  },
  "frameworks": {
    "dnx451": {
      "dependencies": {
        "System.Net.Http": "4.0.1-beta-23516"
      }
    },
    "dnxcore50": {
      "dependencies": {
        "System.Net.Http": "4.0.1-beta-23516"
      }
    }
  }
}

兩個版本都可以工作,因為我能夠成功調試我的HttpClient調用。

您可以忽略除System.Net.Http之外的其他依賴項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM