chr*_*may 4 asp.net asp.net-mvc ashx
我们有一个应用程序,它将webforms用于一些较旧的Web应用程序页面,但也包含一些较新功能的MVC功能.我们对下载必须在服务器上处理的文件有一些新的要求(而不是直接链接到Web服务器上的静态文件).
我没有看到任何迹象表明是否有理由应该使用ASHX处理程序而不仅仅使用MVC控制器并对响应对象进行操作并在action方法结束时返回EmptyResult().
MVC是否有最佳实践?ASHX处理程序是否应该用于WebForms,或者它们是否提供了使用MVC进行此类文件下载功能的一些好处?
嗯,ASHX 可以包含更多内容和具体内容……但是,关于在主应用程序中包含所有代码和逻辑,有些话要说。
就我现在对 MVC 的了解,没有技术上的理由来做一个。使用 WebForms 流式传输大文件更困难,但使用 MVC 您可以很容易地做到这一点(因此您不必先将整个文件加载到内存中)。此外,鉴于现代 Async 方法,您不必太担心占用工作线程以及不考虑可扩展性的问题。
这真的取决于你。即使你想把它分成自己的模块,现在把它变成一个 owin 模块而不是一个 ashx 可能更有意义。更多的是关于你想如何设计你的应用程序。
性能HttpHandler
更好,因为它比MVC操作更简单(只需几个额外的步骤,但仍然).
除此之外,我认为没有理由为了性能原因你应该选择一个而不是另一个.MVC有一些你可能想要使用的很好的功能,比如缓存和授权属性.
如果您选择使用MVC,请使用专门为文件处理构建的结果,例如FileStreamResult
或FileContentResult
.
归档时间: |
|
查看次数: |
2386 次 |
最近记录: |