分享
 
 
 

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

王朝asp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在我们建立完一个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的使用方法,请参考具体的相关命令帮助。

使用Visual studio的Copy Web Site功能部署

Visual studio的Copy Web Site功能,可以很方便地让我们进行WEB应用程序的部署和安装。使用该功能,可以将WEB工程复制到同一服务器或者其他服务器上,或者FTP上。但要注意的时,使用该功能时,仅仅是将文件复制到目的路径中去,并不执行任何的编译操作。

在Visual studio express 中,选择web-site菜单中的copy web site,将出现下面的对话框:

其中,左边部分是源文件的路径(source web sites),右边部分是你将要部署的目的路径。留意一下右边的MOVE FILES下的下拉选择框,里面提供了三种文件的复制方式供你选择:

1、All source Web files to remote Web site(所有的WEB文件复制到远程的WEB站点中)

2、All remote Web files to source Web site(所有的远程WEB站点文件复制到本地站点)

3、Synchronize source and remote Web sites(同步本地WEB站点和远程WEB站点的文件)。

在使用时,先点击CONNECTING TO…旁边的小图标,弹出的对话框如下图:

这里可以选择将你本地的WEB应用程序复制到什么地方,比如是选择FILE SYSTEM(本地文件系统),LOCAL IIS(本地的IIS服务器),FTP站点,或者是远程站点。在选择好目的路径后,就可以点选"COPY WEB SITE"按钮,系统会自动将应用系统的文件复制到目的路径中去,并显示复制后的日志记录。

使用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。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有