由于发布了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中轻松实现,而无需其他处理程序。

其他提示

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top