当前位置:  开发笔记 > 后端 > 正文

MVC HttpContext.Response.Write()vs Content()

如何解决《MVCHttpContext.Response.Write()vsContent()》经验,为你挑选了1个好方法。

我已经看到这两种方式将xml作为客户端响应发送.

选项1:

var context = System.Web.HttpContext.Current;
            context.Response.Clear();
            context.Response.Write(sw.ToString());
            context.Response.ContentType = "text/xml";
            context.Response.End();

选项2:

return Content(sw.ToString(), "text/xml");

选项2更方便,但是在性能,安全性等方面有一个优势吗?哪个是首选(最佳做法)?



1> Darin Dimitr..:

选项2的巨大优势在于您可以单独测试此控制器操作,因为它不依赖于可怕的HttpContext.Current静态属性.此外,它是一种更加MVCish的方式来实现这样的功能.在ASP.NET MVC中,CController和控制器的代表具有返回的Actions ActionResult.所以ContentResult只是ActionResult的一个具体实现,您可以从Controller Action返回.

顺便说一句,你知道每次ASP.NET开发人员HttpContext.Current在他的应用程序中使用时,小猫会死吗?所以你可以完全忘记选项1.这不存在.我甚至不称这是一个选择.这是对人类的犯罪.


当然它已经消失了.谁想杀小猫?这应该从未在ASP.NET MVC中首先存在过.
推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有