web-dev-qa-db-fra.com

Comment utiliser un service reposant dans .NET?

Quelles sont mes options pour utiliser un service RESTful en utilisant le framework .Net? Quand WCF (utilisant WebChannelFactory) est-il préférable à HttpClient?

29
user989046

La dernière bibliothèque HTTP de Microsoft est ici https://www.nuget.org/packages/Microsoft.Net.Http et j'ai un article de blog montrant comment l'utiliser ici .

Vous ne voudrez jamais utiliser WebChannelFactory avec un service RESTful. Le couplage généré par WebChannelFactory détruit le point de REST.

16
Darrel Miller

Départ restsharp . Je ne l'ai pas utilisé, mais j'examine la possibilité de consommer nos propres services REST.

14
Rex Morgan

Le projet hamac facilite l'utilisation des services RESTful. Vous pouvez l'utiliser pour créer facilement les requêtes http requises:

https://github.com/danielcrenna/hammock

3
Bassam Mehanni

Je pense que WCF est préférable chaque fois que vous voulez l'abstraction fournie.

WCF fournit une abstraction sur les protocoles de messagerie et de communication spécifiques utilisés. Même en ne considérant qu'un scénario RESTful, vous pouvez plus facilement vous adapter à différents formats de message (XML, JSON, HTML).

WCF fournit également des mécanismes de configuration, des points d'extensibilité et une instrumentation.

2
Ethan Cabiac

Il existe peu de façons de consommer des services REST dans .NET:

J'ai écrit un blog post qui illustre les trois premières options.

Au moment de consommer via WCF ou HttpClient, je pense qu'il est logique de lire cette SO question pour comprendre le potentiel des services REST. Lorsque vous utilisez un service REST via WCF, vous ne pouvez pas utiliser tout ce pouvoir.

2
Andriy Buday

C’est une technique d’appel ou de consommation de Webservice dans asp.net c #

var client  = new RestClient("url"); 
var request = new RestRequest(Method.POST);

request.AddHeader("content-type", "application/json");
request.AddParameter("application/x-www-form-urlencoded",
    "type=password& [email protected]",ParameterType.RequestBody);

IRestResponse response = client.Execute(request);
0
Piyush Katkar

Je viens de publier un client REST ici aujourd'hui. Vous pouvez télécharger le référentiel Git pour voir les exemples . https://bitbucket.org/MelbourneDeveloper/restclient-.net

  • Open source. (Licence MIT)
  • Langage de balisage agnostique. (Prend en charge JSON, SOAP et d'autres langages de balisage)
  • Utilisez des types forts avec REST.
  • Prend en charge Android, iOS, Windows 10, Windows 10 Phone, Silverlight, .NET, .NET Core.
  • Incroyablement simple.
  • Async friendly (utilise async, attend les mots-clés).

Quand est-il préférable d'utiliser WCF (avec WebChannelFactory) plutôt que HttpClient?

C'est une question très chargée. WCF est un très vaste ensemble de technologies vous permettant de communiquer avec différents protocoles, méthodes d'authentification, etc. Il est très configurable, mais REST est simple et supporté par presque toutes les technologies disponibles. Si vous écrivez un service REST, il est probable que presque toutes les applications pourraient le consommer. En réalité, la question est de savoir quel est votre public cible.

0
Melbourne Developer