ASP.NET 2.0中WEB应用程序的部署(2)

发表于:2007-06-30来源:作者:点击数: 标签:
使用Visual Studio的Precompilation预编译部署 ASP .net 2.0中的一大新特性,是采用了动态编译,使到可以在编辑或者保存修改后的网页后,直接在浏览器中访问,而不需要再次编译,但这有个缺点,编译过程将导致第一次请求 ASP.NET 页面时的响应速度比后续请求
     使用Visual Studio的Precompilation预编译部署
  
    ASP.net 2.0中的一大新特性,是采用了动态编译,使到可以在编辑或者保存修改后的网页后,直接在浏览器中访问,而不需要再次编译,但这有个缺点,编译过程将导致第一次请求 ASP.NET 页面时的响应速度比后续请求慢,而在ASP.NET 2.0中,另外提供了预编译的功能(Precompiling),使用该功能,可以立即将结果显示给第一个用户,并且可以在批编译过程中检测到 ASPX 页面中的任何错误。但是,批编译确实会延长应用程序的启动时间,而且必须内置在 Web.config 文件中。
  
    而ASP.NET 2.0的预编译,又分为两种,第一种是In-place编译,该编译只需要在浏览器中输入http://站点名称/WebApp名称/PreCompile.axd,系统就会将WebApp里面所有的页面先给编译一遍,运行后如下图:
  
  
  
  在ASP.NET 2.0中,提供一种更新的编译部署方式,叫Precompilation deployment(部署预编译)。Net Framework 2.0提供了一个命令行的工具(aspnet_compiler.exe),可以将WebApp中所有的代码、页面(包括HTML)、静态文件全部编译进dll,然后进行部署,得到的目标系统中,只包含编译后的dll,甚至连HTML页面文件都是不存在的,大大增强了系统的安全行,但是浏览起来和普通的ASP.NET 应用没有任何区别。使用方法如下:
  
    aspnet_compiler.exe一般在WINNT目录下的.net framework 2.0子目录下可以找到,使用格式为:
  
  aspnet_compiler -v /<websitename> -p <source> <destination>
  
    其中,websitename为你要部署的web应用程序的虚拟目录名,<source>为你要部署的web应用程序的物理路径,〈destination>为即将部署的应用程序的目标物理路径,比如:
  
  aspnet_compiler -v /Deployment
  -p c:\inetpub\wwwroot\myprojects\Developer\deployment c:\compiled
  
    则所有的文件都会被部署预编译到c盘的compiled目录下,而且该目录下,你会发现没有任何的代码文件和HTML文件了。
  
    小结
  
    本文简单介绍了在ASP.NET 2.0中,提供的三种对WEB应用程序进行部署的方式,并介绍了它们各自的特点。而对于.net 2.0中的更深入的讨论部署安装的问题,请参考MSDN。

原文转自:http://www.ltesting.net