将数据库操作类写在app_Code里面有什么不好?为什么不用三层架构?

首先得先明白,为什么要分层,分层的目的就是为了增加代码的复用以及日后的升级维护,都写appcode,就破坏了这种结构
ASP.NET 动态编译使您能够在部署 Web 应用程序之前修改源代码,而不必显式编译代码。如果您修改源文件,则 ASP.NET 会自动重新编译该文件并更新所有链接的资源。除非 <processModel> 一节已更改,否则 IIS 服务器不必重新启动,所做的更改即会生效。此外,还可以通过为新文件类型创建在编译期间调用的自定义生成提供程序,来扩展 ASP.NET 生成系统。ASP.NET 生成系统的动态编译优点还与较旧的 ASP.NET 应用程序结构和类型向后兼容。


动态编译不提供某些功能。动态编译会平均延长用户的初始响应时间,因为页和代码文件必须在首次被请求时编译。尤其对于经常更新的大型站点来说,这可能是一个问题。动态编译不提供在用户访问站点之前识别编译时 Bug 的方法。此外,动态编译不能创建符合以下条件的站点的已编译版本:无需使用源代码即可部署到成品服务器。


App_Code 文件夹

可以在 App_Code 文件夹中存储源代码,在运行时将会自动对这些代码进行编译。Web 应用程序中的其他任何代码都可以访问产生的程序集。因此,App_Code 文件夹的工作方式与 Bin 文件夹很类似,不同之处是您可以在其中存储源代码而非已编译的代码。App_Code 文件夹及其在 ASP.NET Web 应用程序中的特殊地位使您可以创建自定义类和其他仅源代码文件,并在 Web 应用程序中使用它们而不必单独对它们进行编译。

App_Code 文件夹可以包含以传统类文件(即带有 .vb、.cs 等扩展名的文件)的形式编写的源代码文件。但是,它也可以包含并非明确显示出由某一特定编程语言编写的文件。例如 .wsdl(Web 服务发现语言)文件和 XML 架构 (.xsd) 文件。ASP.NET 可以将这些文件编译成程序集。

根据您的需要,App_Code 文件夹可以包含任意数量的文件和子文件夹。您可以采用任何您认为方便的方式组织源代码,ASP.NET 仍会将所有代码编译成单个程序集,并且 Web 应用程序任意处的其他代码都可以访问该程序集。

©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:上身试试 返回首页