13

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

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

对比

返回 HttpResponseMessage:

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

??

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

与客户有什么区别?

4

1 回答 1

16

没有区别。

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

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

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

于 2012-11-08T16:46:55.643 回答