Was ist der Unterschied zwischen HttpResponseMessage und HttpWebResponse?

8

Beide scheinen unterschiedliche Wege zu sein, Antworten auf den Klienten zu handhaben.

Weitere Details zu meinem Problem: Ich habe einen Server, auf dem ich, wenn ich eine Anfrage von einem Client erhalte, einen zweiten Server anrufen und die Antwort von diesem zweiten Server an meinen Client zurücksenden möchte.

    
Zain Rizvi 30.01.2014, 00:39
quelle

2 Antworten

9

Sie dienen beide demselben Zweck.

  • HttpWebRequest / HttpWebResponse sind seit der ersten Version von .NET verfügbar und sind immer noch ein vollkommen gültiger Ansatz.
  • HttpClient (die HttpRequestMessage und HttpResponseMessage für die Darstellung von Anforderungen und Antworten verwendet) wurde in .NET 4.5 eingeführt und bietet eine vollständig asynchrone API sowie ein neues Modell für den Inhalt von Anforderungen und Antworten; intern stützt es sich immer noch auf HttpWebRequest / HttpWebResponse .

Ein wichtiger Unterschied besteht darin, dass HttpWebRequest/Response die Anforderung und die Antwort nur aus Clientsicht darstellt, während HttpRequestMessage/HttpResponseMessage entweder von einem Client oder einem Server verwendet werden kann (die ASP.NET-Web-API verwendet diese Typen zur Kommunikation der Kunde).

Sie können diejenige verwenden, mit der Sie am meisten vertraut sind; Seien Sie sich jedoch bewusst, dass HttpClient asynchron ist und der Code, der es verwendet, ebenfalls asynchron sein muss.

    
Thomas Levesque 30.01.2014, 00:44
quelle
1

HttpResponseMessage stellen einen modernen Weg dar, Http zu verwenden. Es wird von REST-Lösungen wie der Web-API verwendet, um den Statuscode und den Location-Header zu bearbeiten.

HttpWebResponse ist eine alte Klasse, die alle Http-Informationen enthält, aber als obsolet gilt.

    
Amir Katz 30.01.2014 00:48
quelle

Tags und Links