Usando WebClient no ASP.NET 5

votos
5

Eu estou trabalhando na versão beta VS15 e tentando usar WebClient. Enquanto System.Net é referenciado, ea intellisense sugere a classe WebClient está disponível, em construção eu recebo o seguinte erro:

O tipo ou nome do namespace 'WebClient' não existe no namespace 'System.Net' (faltam uma referência de assembly?) MyProj.ASP.NET Núcleo 5,0 HomeController.cs

Eu estou fazendo o seguinte código simplista:

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

Quando eu vou para a definição de Web Client, ele me mostra a fonte. Não tem a certeza qual é o problema - é WebClient mudou? Eu estou lutando para encontrar a resolução.

Obrigado!

Publicado 16/11/2014 em 16:04
fonte usuário
Em outras línguas...                            


2 respostas

votos
14

Não tenho certeza WebClient, mas você pode usar System.Net.Http.HttpClientpara fazer solicitações web também.

Adicione estas referências à project.json:

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

E então aqui está como chamá-lo de um método de ação MVC 6:

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();
        }
    }
}
Respondeu 16/11/2014 em 20:01
fonte usuário

votos
0

Você ainda pode usar WebClientse você alvo apenas .NET Framework completo em vez de NET núcleo por sua project.jsonmudança:

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

para

  "frameworks": {
    "dnx451": { }
  },
Respondeu 03/02/2016 em 01:40
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more