将内容放入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