将内容放入HttpResponseMessage对象中?

几个月前,微软决定改变HttpResponseMessage类。 之前,您可以简单地将数据类型传递给构造函数,然后用该数据返回消息,但现在不再了。

现在,您需要使用Content属性来设置消息的内容。 问题在于它是HttpContent类型的,我似乎无法找到将字符串转换为HttpContent的方法。

有谁知道如何处理这个问题? 非常感谢。


对于字符串而言,最快捷的方法是使用StringContent构造函数

response.Content = new StringContent("Your response text");

对于其他常见场景,还有许多其他HttpContent类的后代。


您应该使用Request.CreateResponse创建响应:

HttpResponseMessage response =  Request.CreateResponse(HttpStatusCode.BadRequest, "Error message");

您可以将对象不仅传递给CreateResponse,而且会根据请求的Accept头将其序列化。 这可以避免您手动选择格式器。


显然,在这里详细介绍了实现它的新方法:

http://aspnetwebstack.codeplex.com/discussions/350492

引用Henrik的话,

HttpResponseMessage response = new HttpResponseMessage();

response.Content = new ObjectContent<T>(T, myFormatter, “application/some-format”);

所以基本上,必须创建一个ObjectContent类型,这显然可以作为HttpContent对象返回。

链接地址: http://www.djcxy.com/p/20421.html

上一篇: Put content in HttpResponseMessage object?

下一篇: converting an object to HttpContent