它们似乎都是处理客户响应的不同方式。
关于我的问题的更多细节:我有一台服务器,当我收到客户端的请求时,我想调用第二台服务器并将响应从第二台服务器返回给我的客户端。
答案 0 :(得分:10)
他们都有同样的目的。
HttpWebRequest
/ HttpWebResponse
自.NET的第一个版本开始提供,仍然是一种非常有效的方法。HttpClient
(使用HttpRequestMessage
和HttpResponseMessage
表示请求和响应)已在.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旧类,但认为是过时的。