我已经看到这两种方式将xml作为客户端响应发送.
选项1:
var context = System.Web.HttpContext.Current;
context.Response.Clear();
context.Response.Write(sw.ToString());
context.Response.ContentType = "text/xml";
context.Response.End();
Run Code Online (Sandbox Code Playgroud)
选项2:
return Content(sw.ToString(), "text/xml");
选项2更方便,但是在性能,安全性等方面有一个优势吗?哪个是首选(最佳做法)?
选项2的巨大优势在于您可以单独测试此控制器操作,因为它不依赖于可怕的HttpContext.Current静态属性.此外,它是一种更加MVCish的方式来实现这样的功能.在ASP.NET MVC中,CController和控制器的代表具有返回的Actions ActionResult.所以ContentResult只是ActionResult的一个具体实现,您可以从Controller Action返回.
顺便说一句,你知道每次ASP.NET开发人员HttpContext.Current在他的应用程序中使用时,小猫会死吗?所以你可以完全忘记选项1.这不存在.我甚至不称这是一个选择.这是对人类的犯罪.
| 归档时间: |
|
| 查看次数: |
2864 次 |
| 最近记录: |