为什么在VS解决方案资源管理器的“添加ASP.NET文件夹”子菜单中没有“App_Code”选项?我知道你可以通过重命名新文件夹来手动创建一个,但这样做的理由是什么?难道这不是放置“工具”或“服务层”类型类的地方吗?
另外提一下MVC项目,我喜欢它默认包含对System.Configuration的引用,而默认的ASP.NET Web表单项目则没有。
为什么在VS解决方案资源管理器的“添加ASP.NET文件夹”子菜单中没有“App_Code”选项?我知道你可以通过重命名新文件夹来手动创建一个,但这样做的理由是什么?难道这不是放置“工具”或“服务层”类型类的地方吗?
另外提一下MVC项目,我喜欢它默认包含对System.Configuration的引用,而默认的ASP.NET Web表单项目则没有。
这可能是因为ASP.NET MVC项目是一个Web应用程序而不是一个网站。在一个网站中,类文件在运行时动态编译,并且必须存放在App_Code文件夹中。在Web应用程序中,所有内容都被静态编译,类文件可以存放在Web应用程序的任何位置。
正如David Brown所指出的,通常建议将额外的类定义放在单独的类库中,然后从您的Web应用程序引用该类库。如果您编写单元测试或从配置文件引用您的类,如果它们仅在您的Web应用程序中定义,则访问这些类可能是具有挑战性或不可能的。
Global.asax
不需要代码后台或继承引用[script runat="server"]
... place contents of code behind's class inner code
[/script]
并永久性地删除背后的代码
(3) 在Bin
中,删除项目DLL引用,确保保留其他必要的DLL以便运行MVC
(4) 删除解决方案文件、属性文件夹和obj文件夹。
我经常对nop MVC执行此操作,因为使用JIT在Web层上更加简单。那些不理解这一点的开发人员不是每天在许多网站上紧急处理各种自定义快速修复。我们处理的网站每天会有成千上万的点击量,因此在初始增长后使用JIT不会影响性能。
似乎在小型网站开发中,少即是多。
通常情况下,我会把“服务层”和“工具”类置于一个独立的项目中,并将其作为参考添加到我的Web应用程序中。使用MVC框架,我不认为需要在运行时编译类。
对于那些不想要第二个项目/类库,只想要一个简单的文件夹来存放几个C#类的人,我建议使用“App_Classes”。