Asp.Net 2.0的编译模型

Asp.Net 2.0有三种编译模型:

1.Classic Precompilation

    Asp.Net 在第一次发布就采用此模型。使用这个编译模型,网站的部分都会预编译(当然会引用任何在后代码页面处理逻辑中引用的程序集),同时其他的譬如基于tag的文件如.aspx、.asmx等在第一次请求时运行时会自动编译。这种模型仅被用作在页面继承已经编译好的带有页面逻辑的基类的经典后代码模型。

2.Dynamic compilation

应用程序被发布带着所有的标记文件和源文件,同时Asp.Net在空闲时完全的编译应用程序。这种方法的好处是仅仅在标记文件或是源文件改变时,应用程序会自动编译。当然,最大的坏处是动态编译发生在第一次请求,因此当代码发生改变后,第一次请求比以后的请求要花更多的时间(老实说,对于一个大型生产项目我们并不建议在没有在测试环境下测试而直接改变源代码)。这种机制在Asp.Net发布以来就可用了。

3.Site PreCompilation

Asp.Net介绍一个新的编译模型,这种模型允许把整个站点编译成二进制文件,没有任何代码文件,甚至连标记文件(如.aspx,.asmx等)也全部编译进二进制代码。最后只需要部署二进制代码到目标机器上。

当创建一个新的Asp.Net项目时,系统默认会才用动态编译模型,这意味着所有的标记文件和代码文件都被存储在文件系统,Asp.Net会自动编译它们。因此第一次请求将需要多花一点时间,因为需要编译整个页面。如果那样的话,部署已经是编译格式的站点可能更好,因为你能够对整个站点进行预编译。为了站点预编译,你必须使用一个单独的工具AspNet_Compiler.exe来编译你的web应用程序。该命令相应的参数如下:

aspnet_compiler -m metabase path
-v virtual directory path
-p physical path
target directory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值