将数据库操作类写在app_Code里面有什么不好?为什么不用三层架构?
2014-02-23 12:22
363 查看
首先得先明白,为什么要分层,分层的目的就是为了增加代码的复用以及日后的升级维护,都写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 应用程序任意处的其他代码都可以访问该程序集。
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 应用程序任意处的其他代码都可以访问该程序集。
相关文章推荐
- App_Code/DataBase.cs(数据库操作类)
- SQL 数据库 学习 003 什么是数据库? 为什么需要数据库?是不是所有的软件都是用Sql Server?
- 读取.ini文件里面的连接数据库的代码、读取App.config文件的代码
- java中getter 和 setter 方法有什么意义?为什么不用public代替GS?
- javascript 为什么写在body体里面
- 利用存储过程,将数据库里面的code的值转换成 中文,报表的时候用
- vs2008 web应用中 为什么引用不了App_Code里的类
- using写在命名空间外面和里面,有什么区别与讲究?
- SQL 数据库 学习 003 什么是数据库? 为什么需要数据库?是不是所有的软件都是用Sql Server?
- 国嵌不用jlink那使用什么下载逻辑程序并单步调试的?& h-jtag原理,和jlink区别 & jlink为什么这么贵。
- 服务器日志里面为什么有bsalsa.com?bsalsa.com是什么?
- jf框架中json.tld是什么?为什么不用更为简单的json-taglib.jar方式?
- sqlserver 数据库里面金额类型为什么不建议用float,实例告诉你为什么不能。
- 基于asp.net三层架构数据库操作类DAL总结【基础篇】
- vs2008 web应用中 为什么引用不了App_Code里的类
- App_Code 文件夹 在vs2010中为什么找不到
- vs2008 web应用中 为什么引用不了App_Code里的类
- 为什么我复制到system/app下了,就是用不了呢!因为什么呢?
- 什么是外键?为什么要使用外键?如何来用?不用会怎样?
- 什么是带外数据(MSG_OOB), 为什么这种方式不好呢?