HttpResponseMessage和HttpWebResponse有什么区别?

时间:2014-01-30 00:39:40

标签: c# .net httpresponse

它们似乎都是处理客户响应的不同方式。

关于我的问题的更多细节:我有一台服务器,当我收到客户端的请求时,我想调用第二台服务器并将响应从第二台服务器返回给我的客户端。

2 个答案:

答案 0 :(得分:10)

他们都有同样的目的。

  • HttpWebRequest / HttpWebResponse自.NET的第一个版本开始提供,仍然是一种非常有效的方法。
  • HttpClient(使用HttpRequestMessageHttpResponseMessage表示请求和响应)已在.NET 4.5中引入,并提供完全异步的API以及新的请求模型和回应内容;在内部,它仍然依赖于HttpWebRequest / HttpWebResponse

一个重要的区别是HttpWebRequest/Response仅代表客户端的请求和响应,而HttpRequestMessage/HttpResponseMessage可以由客户端或服务器使用(ASP.NET Web API使用这些与客户沟通的类型。)

你可以使用你最熟悉的那个;请注意,由于HttpClient是异步的,因此使用它的代码也必须是异步的。

答案 1 :(得分:1)

HttpResponseMessage代表一种使用Http的模式方式。它正被REST解决方案(如Web API)用于操作状态代码和Location头。

HttpWebResponse是包含所有Http信息的goold旧类,但认为是过时的。