2014-11-16 18 views
5

VS15 beta sürümünde çalışıyorum ve WebClient'i kullanmaya çalışıyorum. System.Net başvuruda bulunulan ve intellisense yapı üzerinde, WebClient'tır sınıfı mevcuttur anlaşılacağı iken aşağıdaki hatayı alıyorum:WebClient'i ASP.NET'te Kullanma 5

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

Gitmem: Aşağıdaki basit kod yapıyorum

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

Web İstemcisi tanımına, bana kaynak gösterir. Sorun ne olduğundan emin değil - WebClient taşındı mı? Çözümü bulmaya çalışıyorum.

Teşekkürler!

cevap

14

WebClient'dan emin değilsiniz, ancak web isteklerini de yapmak için System.Net.Http.HttpClient'u kullanabilirsiniz.

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

Ve sonra burada bir MVC 6 aksiyon yönteminden diyoruz için::

project.json için bu referansları ekle sadece tam hedeflerseniz

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

için '(...) kullanarak ekleme önerir misin {...}' HttpClient örneğin, okuyucular düzgün olarak imha etmeyi unutmayın böylece. –

+2

HttpClient'in içerik oluşturucularına göre imha edilmesine gerek yoktur. Bir istek için her defasında bir tane oluşturmak yerine HttpClient'i tekrar kullanmanızı önerirler. –

+2

project.json'a referans eklemek için sadece "dnu install System.Net.Http" kullanın –

0

Hala WebClient kullanabilirsiniz. NET Framework yerine .NET Core tarafından project.json değişen:

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

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