web-dev-qa-db-fra.com

Comment utiliser WebClient avec .NetCore?

Existe-t-il un moyen d'utiliser un WebClient dans une application .NET Core? Si je crée l'application, j'obtiens l'erreur suivante:

Severity    Code    Description Project File    Line
Error   CS0246  The type or namespace name 'WebClient' could not be found (are you missing a using directive or an Assembly reference?)

Je pense que WebClient ne fait pas partie de .NET Core, mais existe-t-il une alternative?

29
TimBoss

Depuis .Net Standard 2.0, WebClient est désormais disponible pour toutes les implémentations de la norme, y compris .Net Core. Cependant, la question de débordement de pile " Besoin d'aide pour choisir entre HttpClient et WebClient " a quelques bonnes réponses quant à la raison pour laquelle vous devriez utiliser le HttpClient à la place.

L'un des inconvénients mentionnés est qu'il n'y a pas de rapport d'avancement intégré dans le HttpClient. Cependant, comme il utilise des flux, il est possible d'écrire le vôtre. Les réponses à " Comment implémenter un rapport de progression pour Portable HttpClient " fournissent un exemple pour signaler la progression du flux de réponse.

Si vous ciblez des versions antérieures de la norme, vous devrez utiliser HttpClient car WebClient n'est pas disponible avant .Net Standard 2.0.

31
Matt DeKrey

WebClient est désormais disponible dans .Net Standard 2.0 https://docs.Microsoft.com/en-gb/dotnet/api/system.net.webclient?view=netstandard-2.

4
Jamie Rees