Ich muss auf REST-Service von .NET-Anwendung zugreifen und es scheint, dass es mit einem dieser beiden Pakete durchgeführt werden kann. Es ist mir nicht klar, welches Paket in welchen Szenarien verwendet werden soll. Kann jemand mehr Licht hineinbringen?Microsoft.Net.Http vs Microsoft.AspNet.WebApi.Client
Antwort
Die kurze Antwort ist ja, verwenden Sie Microsoft.AspNet.WebApi.Client
.
https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Client/
Dieses Paket bietet Unterstützung für die Formatierung und Content Negotiation System.Net.Http. Es umfasst die Unterstützung für codierte Daten von JSON, XML und Formular-URL .
Microsoft.AspNet.WebApi.Client
tatsächlich hängt auf Microsoft.Net.Http
, und erweitert die HttpClient
mit weiteren Funktionen, die Sie wahrscheinlich auf einen RESTful-Dienst wie ASP.NET Web API (zum Beispiel JSON und XML-Unterstützung) sprechen müßten.
Beide Pakete arbeiten im Namespace System.Net.Http
und kreisen um die Schlüsselklasse HttpClient
. Das Microsoft.AspNet.WebApi.Client
-Paket enthält die System.Net.Http.Formatting.dll-Assembly, die einige nützliche Erweiterungsmethoden zu HttpClient und HttpContent (und anderen) hinzufügt.
So zum Beispiel:
using (var client = new HttpClient())
{
var response = await client.GetAsync("http://localhost/foo/api/products/1");
response.EnsureSuccessStatusCode();
var product = await response.Content.ReadAsAsync<ProductInfo>();
}
ReadAsAsync
Die Methode ist eine Methode, die Verlängerungs Microsoft.AspNet.WebApi.Client
auf das HttpContent
Objekt hinzufügt. Diese Methode ermittelt automatisch, ob die Antwort JSON-, XML- oder URL-codiert ist (die oben erwähnte Inhaltsverhandlung), und verwendet anschließend den entsprechenden Formatierer, um sie in Ihr stark typisiertes Modell zu deserialisieren (in diesem Fall ProductInfo
).
Wenn Sie versucht haben, nur Microsoft.Net.Http zu verwenden, wäre die ReadAsAsync-Methode für Sie nicht verfügbar, und Sie könnten den Inhalt nur als Rohdaten wie Bytes oder Zeichenfolge lesen und müssen Mach das Serialisieren/Deserialisieren selbst.
Sie erhalten auch Erweiterungsmethoden/POST zurück zu setzen, um den Dienst in JSON oder XML ohne zu tun zu haben, dass Sie sich selbst:
// Save the ProductInfo model back to the API service
await client.PutAsJsonAsync("http://localhost/foo/api/products/1", product);
Key Microsoft.AspNet.WebApi.Client Erweiterungen:
https://msdn.microsoft.com/en-US/library/system.net.http.httpclientextensions.aspx https://msdn.microsoft.com/en-US/library/system.net.http.httpcontentextensions.aspx
Ich denke WebApi besser als Http. https://msdn.microsoft.com/en-us/library/jj823172(v=vs.110).aspx
- 1. System.Net.Http vs Microsoft.Net.Http
- 2. Kann ich den ravendb-Client neben Microsoft.AspNet.WebApi.Client installieren?
- 3. Können wir Microsoft.AspNet.WebApi.Client aus einer ASP.NET Core-Anwendung verwenden?
- 4. Wie kann ich diesen .NET RestSharp-Code in Microsoft.Net.Http HttpClient-Code konvertieren?
- 5. Datei oder Baugruppe konnte nicht geladen werden Newtonsoft.Json, Version = 6.0.0.0 in Kombination mit Microsoft.AspNet.WebApi.Client
- 6. Wie nach dem Upgrade auf ASP.NET MVC 5 und Web-API 2
- 7. Klasse vs Paket vs Modul vs Komponente vs Container vs Service vs Plattform in Java Welt
- 8. Opa vs Dart vs Haxe vs Coffee
- 9. Akkumulieren vs falten vs reduzieren vs komprimieren
- 10. body.scrollTop vs documentElement.scrollTop vs window.pagYOffset vs window.scrollY
- 11. ACE vs Boost vs Poco vs wxWidgets
- 12. Inline vs __inline vs __inline__ vs __forceinline?
- 13. Metaphon vs Levenshtein vs Soundex vs Hamming
- 14. Standort vs GeoPoint vs 1E6 vs Aufladen
- 15. VS 2013 MSTest vs nUnit vs xUnit
- 16. Exec vs ExecWait vs ExecShell vs nsExec :: Exec vs nsExec :: ExecToLog vs nsExec :: ExecToStack vs ExecDos vs ExeCmd
- 17. SpiderMonkey vs JavaScriptCore vs?
- 18. & vs * und | vs +
- 19. Bundler vs RVM vs Gems vs RubyGems vs Gemsets vs System Ruby
- 20. Mathematica: Unevaluated vs Aufschieben vs Halten vs Holdform vs HoldAllComplete vs etc etc
- 21. ScheduledExecutorService vs Timer vs Handler
- 22. HttpRequest vs HttpRequestMessage vs HttpRequestBase
- 23. pycuda vs theano vs pylearn2
- 24. Entfernungsabtastung vs Einzelscan vs Überspringungssuche
- 25. Htmlentities vs addslashes vs mysqli_real_escape_string
- 26. Xamarin vs Mono vs Monodevelop
- 27. Ansichtsfenster vs Fenster Vs Dokument
- 28. Redis vs Memcahced vs Hazelcast
- 29. java.lang.Void vs void vs Null
- 30. import vs __import __() vs importlib.import_module()?
Um down-Wähler: Care zu erarbeiten, was ist los mit der Frage ?! – Anil
Es ist eine gute Frage. Downvoter hat es nicht verstanden. –