2012-01-16 13 views

risposta

3

Il progetto amaca rende molto facile da consumare servizi RESTful, è possibile utilizzarlo per creare facilmente le richieste http richiesto Hai bisogno:

https://github.com/danielcrenna/hammock

14

Partenza restsharp. Non l'ho usato, ma sto cercando di consumare i nostri servizi REST.

+0

Come ha funzionato? Restsharp è una buona scelta? Sembra super conveniente e facile da usare. – Jonathan

+0

Sì, mi piace davvero usarlo. –

2

Penso che WCF sia preferibile ogni volta che si desidera l'astrazione che fornisce.

WCF fornisce un'astrazione sugli specifici protocolli di messaggistica e comunicazione utilizzati. Anche solo considerando uno scenario RESTful, puoi più facilmente adattarti a diversi formati di messaggio (XML, JSON, HTML).

WCF fornisce inoltre meccanismi di configurazione, punti di estensibilità e strumentazione.

+0

Per chiunque stia leggendo questo: WCF è essenzialmente morto. Se hai voglia di guardarlo, sappi che è una partenza completa da REST e dovrebbe essere usato solo se sai davvero di averne bisogno. – TheMonarch

+0

@TheMonarch sembra che tu abbia l'impressione che WCF sia legato a uno specifico set di protocolli. A giudicare dal tuo commento, molto probabilmente assocerai WCF a varie tecnologie SOA come XML e SOAP. WCF è in realtà una struttura di comunicazione progettata per essere estesa per diversi protocolli. È vero che la maggior parte delle estensioni out-of-the-box sono correlate a SOA (una conseguenza del momento in cui è stato rilasciato WCF), ma le estensioni possono essere scritte/esistenti per REST (HTTP/JSON), buffer di protocollo, gRPC, o anche un protocollo personalizzato. –

16

La nuova libreria HTTP di Microsoft è qui https://www.nuget.org/packages/Microsoft.Net.Http e ho un post sul blog che mostra come utilizzarlo here.

Non si vorrebbe mai utilizzare WebChannelFactory su un servizio RESTful. L'accoppiamento generato da WebChannelFactory sconfigge il punto di REST.

+0

Il tuo blog link è morto, puoi sistemarlo? – dcp

+0

@dcp Ci scusiamo. –

+1

Dovresti vedere anche questo pacchetto: http://www.nuget.org/packages/Microsoft.Net.Http/ – Gilney

2

Ci sono diversi modi di consumo di servizi REST in .NET:

Ho scritto un blog post che dimostra le prime tre opzioni.

A partire dal consumo tramite WCF o HttpClient penso che abbia senso leggere questo SO question per capire il potenziale dei servizi REST. Quando si consuma un servizio REST tramite WCF non è possibile utilizzare tutta questa potenza.

0

Si tratta di una tecnica di chiamare o consumare riposo webservice in 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

Ho appena rilasciato un client REST qui oggi. Puoi scaricare il repository Git per vedere i campioni.

  • Open Source. (Licenza MIT)
  • Contrassegno linguaggio Markup. (Supporta JSON, SOAP e altri linguaggi di markup)
  • Utilizzare tipi forti con REST.
  • Supporta Android, iOS, Windows 10, Windows 10 Phone, Silverlight, .NET, .NET Core.
  • Incredibilmente semplice.
  • Async friendly (utilizza async, attende parole chiave).

Quando viene WCF (usando il WebChannelFactory) più preferibile HttpClient?

Questa è una domanda molto carica. WCF è una raccolta di tecnologie molto ampia che consente di comunicare con numerosi protocolli, metodi di autenticazione e così via. È molto configurabile, ma REST è semplice e supportato da quasi tutte le tecnologie disponibili. Se si scrive un servizio REST, è probabile che quasi tutte le app possano consumarlo. In realtà, la domanda riguarda chi è il tuo target di riferimento.

Problemi correlati