建议的ASHX文件目录结构/位置
-
27-10-2019 - |
题
由于发布了ASP.NET MVC约定,我更仔细地研究了通用约定而不是项目的配置(相对于'home-rolled'约定,还是各种约定)。
但是,对于,,ASP.NET MVC项目(以及Web窗体项目)中ASHX文件的首选位置,我没有看到太多(如果有的话)。
是否有推荐的目录结构?也许有一个已发布的规范,其中包含更大的目录结构?
我的个人习惯是将它们放置在顶级 Handlers 目录中,但是老实说,我个人还没有看到其他任何真正做到这一点的项目。
我认为,取决于它的功能(例如生成图像),人们可能会争辩说它可能会进入Content目录,但似乎该目录通常用于静态文件。
(此外:有人可能会争辩说MVC项目中不需要ASHX文件,但根据此处发布的问题,似乎ASHX文件仍在MVC项目中占有一席之地。)
编辑:忽略MVC项目,因为我建议举一个例子。那么Web表单呢?
解决方案
我的个人习惯是不要将处理程序创建为ASHX文件,而是创建为提供IHttpHandler接口形式的类。我将它们保存在单独的.dll文件中,并通过web.config注册。
另一方面,您所链接的所有有问题的场景都可以在ASP.NET MVC Framework中轻松实现,而无需其他处理程序。
其他提示
对于ASP.NET MVC项目,在问题中对建议的项目/目录结构进行了很好的讨论。ASP.net MVC项目结构。
对于Web窗体,似乎在那里是否为ASP.NET Web应用程序目录结构命名约定?是否表明没有标准(截至2008年)。
不隶属于 StackOverflow