gpt4 book ai didi

asp.net-mvc - MVC HttpContext.Response.Write()与Content()

转载 作者:行者123 更新时间:2023-12-02 07:24:37 26 4
gpt4 key购买 nike

我已经看到了两种发送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更方便,但是在性能,安全性等方面有什么优势吗?首选哪一种(最佳做法)?

最佳答案

选项2的最大优点是,您将能够独立地对该 Controller 操作进行单元测试,因为它不依赖于可怕的HttpContext.Current静态属性。同样,这是一种实现这种功能的MVCish方法。在ASP.NET MVC中,C表示 Controller ,而 Controller 具有返回ActionResult的操作。因此ContentResult只是ActionResult的一种具体实现,您可以从Controller Action中返回。

顺便说一句,您是否知道,每当ASP.NET开发人员在其应用程序中使用HttpContext.Current时,小猫就会死亡?因此,您可以完全忘记选项1。该选项不存在。我什至不称其为选择。那是危害人类罪。

关于asp.net-mvc - MVC HttpContext.Response.Write()与Content(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34599487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com