2012-01-16 5 views

Répondre

3

Le projet hamac, il est très facile de consommer des services RESTful, vous pouvez l'utiliser pour créer facilement les requêtes http nécessaires dont vous avez besoin:

https://github.com/danielcrenna/hammock

14

Check out restsharp. Je ne l'ai pas utilisé, mais je cherche à consommer nos propres services REST.

+0

Comment est-ce que tu travailles avec ça? Restsharp est-il un bon choix? Il semble super pratique et facile à utiliser. – Jonathan

+0

Oui, j'aime vraiment l'utiliser. –

2

Je pense que WCF est préférable quand vous voulez l'abstraction qu'il fournit.

WCF fournit une abstraction sur les protocoles de messagerie et de communication spécifiques employés. Même en ne considérant qu'un scénario RESTful, vous pouvez plus facilement vous adapter à différents formats de messages (XML, JSON, HTML). WCF fournit également des mécanismes de configuration, des points d'extensibilité et des instruments.

+0

Pour quiconque lit ceci maintenant: WCF est essentiellement mort. Si vous avez envie de vous pencher là-dessus, sachez que c'est complètement différent de REST et que vous ne devriez l'utiliser que si vous savez vraiment que vous en avez besoin. – TheMonarch

+0

@TheMonarch vous semblez avoir l'impression que WCF est lié à un ensemble spécifique de protocoles. A en juger par votre commentaire, vous associez probablement WCF avec diverses technologies SOA comme XML et SOAP. La WCF est en fait un cadre de communication conçu pour être étendu à différents protocoles. Il est vrai que la plupart des extensions out-of-the-box sont liées à SOA (une conséquence du moment où WCF a été publié) mais des extensions peuvent être écrites/existent pour REST (HTTP/JSON), tampons de protocole, gRPC, ou même un protocole personnalisé. –

16

La plus récente bibliothèque HTTP de Microsoft est ici https://www.nuget.org/packages/Microsoft.Net.Http et j'ai un billet de blog montrant comment l'utiliser here.

Vous ne voudrez jamais utiliser WebChannelFactory par rapport à un service RESTful. Le couplage généré par WebChannelFactory supprime le point de REST.

+0

Le lien de votre blog est mort, pouvez-vous le réparer? – dcp

+0

@dcp Désolé à ce sujet. –

+1

Vous voudrez aussi voir ce paquet: http://www.nuget.org/packages/Microsoft.Net.Http/ – Gilney

2

Il y a différentes façons de consommer des services REST dans .NET:

J'ai écrit un blog post qui démontre les trois premières options. En consommant via WCF ou HttpClient, je pense qu'il est logique de lire ceci SO question pour comprendre le potentiel des services REST. Lorsque vous utilisez un service REST via WCF, vous ne pouvez pas utiliser toute cette puissance.

0

C'est une technique d'appeler ou de consommer de repos 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

Je viens de publier un client REST aujourd'hui. Vous pouvez télécharger le repo Git pour voir les échantillons.

  • 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 Phone 10, Silverlight, .NET, .NET Core.
  • Incroyablement simple.
  • Async friendly (utilise async, wait keywords).

Quand WCF (en utilisant le WebChannelFactory) plus préférable à HttpClient?

C'est une question très chargée. WCF est une très grande collection de technologies qui vous permettent 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 y a des chances que presque n'importe quelle application puisse le consommer. Vraiment, la question est de savoir qui est votre public cible.

Questions connexes