asp.net的编译模型
asp.net在 1.x 时,使用的是组件为主的编译方式,一个网页只会产生一个组件,这个方式最大的优点,就是可以自由定义命名空间,且在部署应用程序时会比较方便,但由于asp.net1.x 所处的时代,如果网站是有许多代码的情况下(即 DLL 档很大),加载的速度会变慢,且占用存储器的量会很多,当时的存储器价格也尚未降到现在的水平。因此在asp.net2.0 开始,另外提供了一个预先编译(Pre-compilation) 的编译模型,这个编译方法会将每个网页都各自编译成一个组件,其文件名称会是 App_[乱数字符串].dll 命名,在编译时期由asp.netPre-compilation 工具 (aspnet_compiler.exe) 给定,优点是可以不必加载过量的代码到存储器中,但缺点则是无法自定义命名空间,而且在更新时必须要更新所有的 DLL 档以及网页等,否则会造成名称不一致,让 DLL 无法被加载的问题。
早期asp.net2.0 仅提供预先编译模式,让它的缺点很快的被暴露出来,因此微软也为asp.net2.0 开发了沿用asp.net1.x 的编译模型的工具:Web Application Project,在 Visual Studio 2008 中开始内置,至此,asp.net支持两种编译模式的架构抵定。
多重随机标签