MVC 4 Web API Action返回:Types vs HttpResponseMessage

时间:2012-09-28 03:23:02

标签: asp.net asp.net-web-api action

返回类型有什么区别,例如

    public class MyController : ApiController
    {
        public IEnumerable<MyType> Get()...

VS

返回HttpResponseMessage:

    public class MyController : ApiController
    {
        public HttpResponseMessage Get()...

...

MVC是否将类型包装到HttpResponseMessage内容对象中?除了明确添加格式化程序之外,页面上的结果看起来一样。

与客户有什么区别?

1 个答案:

答案 0 :(得分:16)

没有区别。

如果返回CLR类型,无论如何它都会被HttpResponseMessage包裹。

唯一的区别是,如果您返回HttpResponseMessage,您将有机会直接使用HTTP - 因此您可以设置标题,绕过MediaTypeFormatters等等。

这完全取决于个人偏好和/或在您的行动中执行的活动。