Jakie są moje opcje do korzystania z usługi RESTful przy użyciu platformy .Net? Kiedy jest WCF (przy użyciu WebChannelFactory) bardziej preferowany niż HttpClient?Jak konsumować restful Service w .NET?
Odpowiedz
Projekt hamak sprawia, że bardzo łatwo się zużywają usług relaksującego, można go używać do łatwego tworzenia wymaganych żądań http musisz:
Check out restsharp. Nie użyłem go, ale szukam go, by skonsumować nasze własne usługi REST.
Uważam, że WCF jest preferowane, gdy tylko chcesz uzyskać abstrakcję.
WCF zapewnia abstrakcję w zakresie konkretnych protokołów przesyłania komunikatów i komunikacji. Nawet biorąc pod uwagę RESTful scenariusz, można łatwiej dostosować się do różnych formatów wiadomości (XML, JSON, HTML).
WCF zapewnia również mechanizmy konfiguracji, punkty rozszerzalności i oprzyrządowanie.
Dla każdego, kto to czyta teraz: WCF jest zasadniczo martwy. Jeśli masz ochotę się nim zająć, wiedz, że to całkowite odejście od REST i powinno być używane tylko wtedy, gdy naprawdę wiesz, że go potrzebujesz. – TheMonarch
@Monarch wydaje się być pod wrażeniem, że WCF jest powiązany z określonym zestawem protokołów. Sądząc po twoim komentarzu, najprawdopodobniej powiążesz WCF z różnymi technologiami SOA, takimi jak XML i SOAP. WCF jest faktycznie ramą komunikacyjną zaprojektowaną do rozszerzenia na różne protokoły. Prawdą jest, że większość gotowych rozszerzeń jest związanych z architekturą SOA (co jest konsekwencją czasu, kiedy WCF zostało wydane), ale rozszerzenia mogą być zapisane/istnieć dla REST (HTTP/JSON), bufory protokołów, gRPC, lub nawet niestandardowy protokół. –
Najnowsza biblioteka HTTP Microsoftu znajduje się tutaj https://www.nuget.org/packages/Microsoft.Net.Http i mam wpis na blogu pokazujący, jak go używać here.
Nigdy nie chciałbyś używać WebChannelFactory przeciwko usłudze REST. Sprzężenie wygenerowane przez WebChannelFactory pokonuje punkt REST.
Istnieje kilka różnych sposobów spożywania usług REST w .NET:
- Plain .NET HTTP request
- WCF mechanizmy
- HttpClient (zalecana nuget package)
- innych bibliotek (RestSharp, Hamak itp.)
Napisałem numer blog post, który demonstruje pierwsze trzy opcje.
Jeśli chodzi o konsumowanie przez WCF lub HttpClient, myślę, że warto przeczytać ten SO question, aby zrozumieć potencjał usług REST. Gdy użytkownik korzysta z usługi REST za pośrednictwem WCF, nie można użyć całej tej mocy.
Jest to jedna technika wywoływania lub spożywania odpoczynku usługa w 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);
Właśnie wydany tutaj klienta REST dzisiaj. Możesz pobrać repozytorium Git, aby zobaczyć próbki.
- Open Source. (Licencja MIT)
- Agnostyka języka znaczników. (Obsługuje JSON, SOAP i inne języki znaczników)
- Używaj silnych typów z REST.
- Obsługuje Android, iOS, Windows 10, Windows 10 Phone, Silverlight, .NET, .NET Core.
- Niewiarygodnie proste.
- Przyjazne asynchronicznie (używa asynchronizacji, oczekuje słów kluczowych).
Po WCF (stosując WebChannelFactory), bardziej korzystnie HTTPClient?
To bardzo obciążone pytanie. WCF to bardzo duży zbiór technologii, które umożliwiają komunikację z wieloma różnymi protokołami, metodami uwierzytelniania i tak dalej. Jest bardzo konfigurowalny, ale REST jest prosty i obsługiwany przez prawie wszystkie dostępne technologie. Jeśli napiszesz usługę REST, prawdopodobnie prawie każda aplikacja może ją wykorzystać. Naprawdę, pytanie dotyczy tego, kto jest Twoją docelową publicznością.
- 1. Jak poprawnie produkować JSON przez RESTful web service?
- 2. Jak konsumować zdarzenia WMI w języku C#
- 3. Metoda RESTful Http DELETE w .NET
- 4. Usługa SQL Service Broker i .NET Windows Service - najlepsze praktyki?
- 5. Pracownik selera: jak konsumować ze wszystkich kolejek?
- 6. Ustawianie limitu czasu usługi .NET Web Service
- 7. Jak kontrolować nazwy plików dla .NET Service References?
- 8. Usuwanie przestrzeni nazw XML w C# restful web service zwrócił ciąg
- 9. Skąd usługa ASP.NET Web Service wchodzi w .Net Framework 4.0?
- 10. Enterprise Service Bus, .NET Service Bus, NServiceBus i koła w magistrali
- 11. Najlepszy sposób na napisanie usługi RESTful "klient" w .Net?
- 12. .Net Consuming Web Service: Identyczne typy w dwóch różnych usługach
- 13. Najprostszy przykład Knockback js działający z usługą RESTful Web Service, taką jak ServiceStack?
- 14. Czy WIF jest dobrym rozwiązaniem dla zabezpieczenia WCF 4.0 Restful service with iPhone
- 15. Jak zbudować RESTful API?
- 16. backbone.js Model Sync i C# .net RESTful web services
- 17. Chcesz mieć inną czcionkę języka (hindi) w odpowiedzi poprzez JSON przy użyciu usługi RESTful Web Service
- 18. Gdzie można umieścić Restful Web Service w JAVA we wspólnych rozwiązaniach hostingu
- 19. JAVA Restful webservice vs PHP Restful webservice. Najlepszy?
- 20. Czy powszechnie stosowany jest Service Service Locator?
- 21. Zużyj xml danych przez C# Web Service
- 22. Opublikuj moją usługę RESTful Web w Internecie
- 23. .asmx Web Service Documentation
- 24. Jak mogę wdrożyć RESTful API w Perlu?
- 25. Jak najlepiej utworzyć RESTful API w Node.js
- 26. Jak zwrócić wygenerowany identyfikator w RESTful POST?
- 27. Jak zaimplementować logowanie w serwisie WWW RESTful?
- 28. jak uwierzytelniać RESTful API w Laravel 5?
- 29. Jak usunąć rozszerzenie ".svc" w usłudze RESTful WCF?
- 30. WSDL2REST - czy istnieje wersja C#? (przekonwertuj SOAP na RESTful web service)
Jak to się udało? Czy restsharp to dobry wybór? Wygląda super wygodne i łatwe w użyciu. – Jonathan
Tak, bardzo lubię go używać. –