您的位置:首页 > 编程语言 > ASP

Asp.Net 2.0的编译模型

2007-03-13 10:03 316 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: