簡體   English   中英

無法從Asp MVC 6 Web Api使用HttpClient

[英]Can not use HttpClient from Asp MVC 6 Web Api

我嘗試編寫簡單的代碼:

 public async Task<string> GetData(String labelName)
    {           
        using (var client = new HttpClient())
        {
            var uri = new Uri(@"https://example.com/over/search_field?=search_label=" + labelName);

            var response = await client.GetAsync(uri).ConfigureAwait(false);
            var textResult = await response.Content.ReadAsStringAsync();
            return textResult;
        }
    }

在project.json中:

 {
"webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
  "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
 "Microsoft.AspNet.Mvc": "6.0.0-beta8",
 "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
 "Microsoft.AspNet.StaticFiles": "1.0.0-beta8",

 "Microsoft.Framework.Logging": "1.0.0-beta8",
 "Microsoft.Framework.Logging.Console": "1.0.0-beta8",
 "Microsoft.Framework.Logging.Debug": "1.0.0-beta8",
 "Microsoft.Net.Http": "2.2.22"
  },      
 "frameworks": {
  "dnx451": {
    "dependencies": {
       "Microsoft.AspNet.WebApi.Client": "5.2.3",
      "Microsoft.AspNet.WebApi.Owin": "5.2.3",
      "System.Net.Http": "4.0.1-beta-23409"


   },
   "frameworkAssemblies": {
     "System.Net": "4.0.0.0",
     "System.Net.Http": "4.0.0.0"
   }
 },
 "dnxcore50": { }
},

但是,當我嘗試構建代碼時,出現錯誤:

錯誤CS0246找不到類型或名稱空間名稱'HttpClient'(您是否缺少using指令或程序集引用?)

你能幫助我嗎? 如何解決這個錯誤? 我使用VS 2015和ASP MVC 6 Web API。 謝謝!

這對我有用。 我在dependencies部分添加了System.Net.Http並構建了項目(因此在DNX 4.5.1DNX Core 5.0中都恢復了這個新的依賴項)

"dependencies": {
    "Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    // Removed some dependencies for saving space:)
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
    "System.Net.Http": "4.0.1-beta-23409"
},
"frameworks": {
    "dnx451": { },
    "dnxcore50": {}
},

在以下運行時中進行了驗證,並且工作正常。

  • coreclr-X86-1.0.0-rc1-update1
  • coreclr-X64-1.0.0-rc1-update1
  • clr-X86-1.0.0-rc1-update1
  • clr-X64-1.0.0-rc1-update1

另外,還需要確保您具有using指令,該指令在擁有GetData方法的類文件中導入System.Net.Http命名空間。

using System.Net.Http;

暫無
暫無

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

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