2014-11-16 3 views
5

Я работаю в VS15 beta и пытаюсь использовать WebClient. В то время как System.Net упоминается, и IntelliSense предлагает класс WebClient доступен на сборки я получаю следующее сообщение об ошибке:Использование WebClient в ASP.NET 5

The type or namespace name 'WebClient' does not exist in the namespace 'System.Net' (are you missing an assembly reference?) MyProj.ASP.NET Core 5.0 HomeController.cs

Я делаю следующий упрощенный код:

var client = new System.Net. 
var html = client.DownloadString(url); 

Когда я иду к определению веб-клиента, он показывает мне источник. Не совсем уверен, в чем проблема: перемещен ли WebClient? Я изо всех сил пытаюсь найти решение.

Спасибо!

ответ

14

Не уверен, что WebClient, но вы также можете использовать System.Net.Http.HttpClient, чтобы сделать веб-запросы.

Добавьте эти ссылки на project.json:

"frameworks": { 
    "aspnet50": { 
     "frameworkAssemblies": { 
      "System.Net.Http": "4.0.0.0" 
     } 
    }, 
    "aspnetcore50": { 
     "dependencies": { 
      "System.Net.Http": "4.0.0-beta-*" 
     } 
    } 
}, 

А потом вот как назвать это от метода 6 действий MVC:

using System.Net.Http; 
using System.Net.Http.Headers; 
using System.Threading.Tasks; 
using Microsoft.AspNet.Mvc; 

namespace WebApplication50.Controllers 
{ 
    public class HomeController : Controller 
    { 
     public async Task<IActionResult> Index() 
     { 
      var httpClient = new HttpClient(); 
      httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("MyClient", "1.0")); 
      var result = await httpClient.GetStringAsync("http://www.microsoft.com"); 

      ... 

      return View(); 
     } 
    } 
} 
+7

может рекомендовать добавление 'используя (...) {...}' для примера HttpClient, поэтому читатели не забудьте утилизировать должным образом. –

+2

HttpClient не нужно удалять в соответствии с его создателями. Они рекомендуют повторно использовать HttpClient, а не создавать их каждый раз для запроса. –

+2

Чтобы добавить ссылки на project.json, просто используйте «dnu install System.Net.Http» –

0

Вы все еще можете использовать WebClient, если вы нацелены только полный. NET Framework вместо .NET Core в вашем Изменение:

"frameworks": { 
    "dnx451": { }, 
    "dnxcore50": { } 
    }, 

к

"frameworks": { 
    "dnx451": { } 
    }, 
Смежные вопросы