English(beta)
hfyb的Blog 页面正在加载中 .....

ASP.NET2.0中WEB应用程序的部署

引自http://www.dev-coffee.com/ASPNET/ASP-.NET-2.0-zhong-WEB-yingyongchengxu-de-bushu-6445



在我们建立完一个WEB应用程序后,我们就要考虑如何进行部署和发布。一般情况下,尽可能将安装简单化,以使用户有非常好的用户体验。但有的情况下,可能 对安装程序的要求比较高,比如有时要将一些安装配置信息写到注册表中去。而对于一个WEB应用程序,该如何安装部署呢?这和安装部署一个普通的 WINFORM下的应用程序有些不同。以往,对于WEB应用程序的安装部署总是十分困难的,但自从ASP.NET 1.1起,直到现在出现的ASP.NET 2.0,安装部署WEB应用程序将变得十分简单方便。本文将着重介绍在ASP.NET 2.0下,如何使用visual studio .net express beta/visual studio 2005,对WEB应用程序进行安装部署。
  
  首先,我们看下,WEB应用程序一般包括什么。一个WEB应用程序,一般包括有WEB 页面(.aspx文件和HTML文件),各类配置文件(如web.config),各类相关的资源文件,还有各类包括业务核心代码的源代码文件,这些文件 一般会放在WEB服务器的一个虚拟目录下。由于ASP.NET是采用编译架构的,因此还包括编译后的各类DLL文件,这些DLL文件放在BIN目录下。对 于部署WEB应用程序,在.NET 2.0中,可以采用以下的几种方法:
  
  1、使用XCOPY部署
  
  2、使用Visual studio的Copy Web Site功能部署
  
  3、使用visual studio的Precompilation预编译部署
  
  下面对上述的三种方法分别予以介绍:
  
  使用XCOPY部署
  
首先,我们先使用visual studio express 建立一个WEB SITE,选择VB.NET或者C#,之后建立一个名为deployment的应用。在这个应用中,由于我们的目的是着重安装部署,所以可以随便拉一个按 钮,然后在这按钮的onclick事件中,写入一些屏幕输出之类的语句就可以了。
  当编译该程序后,我们开始使用XCOPY来部署应用程序。 XCOPY是.NET在应用程序的部署方面的最简单方法。XCOPY简单地将你的WEB应用程序的所有文件拷贝到目的服务器的指定路径下,比如,使用命令如下:
  xcopy d:\intetpub\wwwroot\myprojects\developer\deployment c:\temp /e /k /r /o /h /I
  
  执行后,结果如下图,会将当前的应用deployment的所有文件拷贝到c盘的TEMP目录中去,之后,在IIS中创建虚拟目录,指向该目录就可以了。关于XCOPY的使用方法,请参考具体的相关命令帮助。
   pg>
在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。

posted on 2007-02-27 20:44  hfyb  阅读(743)  评论(0编辑  收藏  举报

导航