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


    在我们建立完一个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。
  • 相关阅读:
    数学+高精度 ZOJ 2313 Chinese Girls' Amusement
    最短路(Bellman_Ford) POJ 1860 Currency Exchange
    贪心 Gym 100502E Opening Ceremony
    概率 Gym 100502D Dice Game
    判断 Gym 100502K Train Passengers
    BFS POJ 3278 Catch That Cow
    DFS POJ 2362 Square
    DFS ZOJ 1002/HDOJ 1045 Fire Net
    组合数学(全排列)+DFS CSU 1563 Lexicography
    stack UVA 442 Matrix Chain Multiplication
  • 原文地址:https://www.cnblogs.com/yunfei181/p/1671434.html
Copyright © 2020-2023  润新知