2012-01-16 14 views

Odpowiedz

14

Check out restsharp. Nie użyłem go, ale szukam go, by skonsumować nasze własne usługi REST.

+0

Jak to się udało? Czy restsharp to dobry wybór? Wygląda super wygodne i łatwe w użyciu. – Jonathan

+0

Tak, bardzo lubię go używać. –

2

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.

+0

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

+0

@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ół. –

16

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.

+0

Twój blog jest nieaktywny, możesz to naprawić? – dcp

+0

@dcp Przepraszam za to. –

+1

Będziesz także chciał zobaczyć ten pakiet: http://www.nuget.org/packages/Microsoft.Net.Http/ – Gilney

2

Istnieje kilka różnych sposobów spożywania usług REST w .NET:

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.

0

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); 
0

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ą.

Powiązane problemy