Quelles sont mes options pour consommer un service RESTful utilisant le framework .Net? Quand WCF (utilisant WebChannelFactory) est-il préférable à HttpClient?Comment consommer un service reposant dans .NET?
Répondre
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:
Check out restsharp. Je ne l'ai pas utilisé, mais je cherche à consommer nos propres services REST.
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.
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
@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é. –
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.
Il y a différentes façons de consommer des services REST dans .NET:
- plaine .NET HTTP request
- mécanismes WCF
- HttpClient (recommandé, nuget package)
- Autres bibliothèques (RestSharp, Hamac, etc.)
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.
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);
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.
- 1. Comment consommer un service wcf reposant dans Java?
- 2. Consommer un service reposant sans port dans Mule
- 3. consommer un service web .net et nsoperation
- 4. Comment consommer un service Web .NET dans une application iPhone?
- 5. Tests de performance .NET Service WCF reposant
- 6. Comment consommer ce service Web dans une application .NET?
- 7. Comment Silverlight 4 peut-il consommer un service reposant d'Alfresco Webscript?
- 8. Protobuf-net Comment consommer un service WCF dans un client NET CF?
- 9. Comment consommer le service wcf de type poste reposant dans l'iphone?
- 10. .NET consommer le service Web php
- 11. Comment héberger un service Web WCF reposant
- 12. Comment consommer un service Restfull Android Studio
- 13. Consommer un service Web sur une application smart device .net
- 14. Consommer le service web .Net de PHP - comment déboguer
- 15. Consommer le service Web .NET dans Objective-C [iPhone]
- 16. Impossible de consommer le service Web .NET dans ColdFusion MX
- 17. Dynmically consommer un service Web dans Monotouch
- 18. IPhone service WCF reposant
- 19. Comment consommer un service WCF sans WebRequest?
- 20. Consommer un service Web dans Delphi 2007
- 21. Comment consommer le service Web dans Android?
- 22. Comment consommer ce service Web?
- 23. Service WCF reposant et LINQ
- 24. Comment consommer un service WCF dans Silverlight qui utilise le sérialiseur ProtoBuf-net?
- 25. Comment consommer le service Web .NET dans NetBeans qui a un en-tête d'authentification de savon
- 26. Envoyer objet à un service reposant
- 27. Groovy/Grails En utilisant WSClient consommer .net service web
- 28. Comment consommer un service SOAP (WCF) dans Plone?
- 29. Comment consommer un service Web dans mon application
- 30. consommer/unité formulaire de test validé webservice reposant
Comment est-ce que tu travailles avec ça? Restsharp est-il un bon choix? Il semble super pratique et facile à utiliser. – Jonathan
Oui, j'aime vraiment l'utiliser. –