部署ASP.NET的三大技术(上) (2)

asp.net

五、用VS.NET的“复制项目”功能部署

VS.NET的“复制项目”功能使我们能够非常轻松地把ASP.NET Web应用部署到目标服务器。这个功能既可以把Web项目复制到同一服务器,也可以复制到不同的服务器。

如果你用VS.NET开发Web应用程序,发布Web应用之前要做的第一件事情是把“活动的解决方案配置”从Debug改成Release,如图三所示,这个选项不仅使编译器优化代码,而且删除所有与调试有关的符号信息,使代码运行速度更快。打开配置管理器的步骤是:在“解决方案资源管理器”中选择Web应用项目,选择菜单“项目”→“XXXX项目属性”,其中XXXX是项目名称,再点击“配置管理器”。在“活动的解决方案配置”中选择“Release”。

图三

要把Web项目复制到目标服务器,在VS.NET中选择菜单“项目”→“复制项目...”,VS.NET显示出图四的对话框。

图四

“复制项目”对话框提供了下列选项:

㈠ 目标项目文件夹:用来指定复制项目的目标位置。目标位置可以在同一个服务器上,也可以在一个远程服务器上。

㈡ Web访问方法:将Web项目复制到目标文件夹时所用的方法,可供选择的Web访问方法有两种。首先是“文件共享”,即通过文件共享机制直接访问Web服务器上的文件系统,不要求Web服务器上安装有FrontPage服务器扩展;其次是“FrontPage”,即通过基于HTTP协议的FrontPage服务器扩展把Web项目的文件传输到服务器,使用该选项要求Web服务器上必须安装了FrontPage服务器扩展,这种Web访问方法能够在目标服务器上自动创建必要的虚拟目录。

㈢ 复制:包含三个选项,分别是:① 仅限于运行该应用程序所需的文件,即只复制“生成”功能输出的文件(bin文件夹中的 DLL 和引用)以及内容文件(例如.aspx和.asmx文件),大多数情况下,我们可以用该默认选项部署应用程序;② 所有项目文件,即复制“生成”功能输出的文件(bin文件夹中的DLL和引用)和项目中的所有文件,包括项目文件和源程序文件,③ 源项目文件夹中的所有文件,即项目文件夹(或子文件夹)中的所有项目文件和任何其他文件。

根据实际情况选择图四对话框的选项,点击“确定”,即可把Web项目部署到服务器。

六、用Web安装项目部署

XCOPY部署和VS.NET的“复制功能”简单易用,但不能够满足所有的部署需要。例如,如果应用程序有更加复杂的配置和部署要求,VS.NET的“Web安装项目”才是最佳的选择。

虽然我们可以用一大堆的生成输出、安装类、数据库创建脚本来发布Web应用,但对于复杂的Web应用项目,通常不如使用Windows安装程序来得方便。为支持Web应用部署,VS.NET专门提供了一种“Web安装项目”。Web安装项目与普通的安装项目不同,Web安装项目把Web应用安装到Web服务器的虚拟根文件夹上,而普通安装项目一般把应用程序安装到Program Files目录。

由于VS.NET安装程序建立在Windows安装程序的基础上,所以能够利用Windows安装程序的优势。在开始探讨VS.NET Web安装项目之前,我们先来了解一下Windows安装程序的主要特点,因为它是VS.NET Web安装项目的核心基础。

6.1 Windows安装程序

Windows安装程序是一个软件安装和配置服务,Windows 2000和Windows XP操作系统都带有Windows安装程序,而且微软为所有Win 9x和NT 4平台也提供了功能相似的免费版本。在Win2K/XP中,Windows安装程序的核心是一个Windows Installer服务,Windows Installer服务记录了它安装的每一个应用程序,当我们删除一个应用软件时,Windows Installer检查安装记录,在删除应用的组件之前确保其他应用不依赖于这些组件。

Windows Installer将应用划分成以下三个等级:

⑴ 产品:用户可以安装的一个单元。例如,MS Word就是一个用户可以安装的产品。

⑵ 功能:产品由多种功能组成,功能是产品用途的最小单位。例如,自动更正就是Word的一项功能。

⑶ 组件:组件可以看作能够在多个功能和组件之间共享的最小单元。必须注意的是,Windows Installer术语中的组件不同于.NET框架中组件的概念。一个Windows Installer的组件是一个或者多个逻辑上密切相关的文件,它可以是一个执行文件,一个DLL文件,也可以是一个简单的文本文件。一项功能可以由多个组件结合在一起提供,同时,一个组件也可以由多项功能共享。功能总是针对特定的产品而言,且功能的名称只在特定的产品范围内唯一;相比之下,组件是全局性的,其作用范围是一台机器上安装的所有产品。例如,Word的拼写检查组件可以在所有想要实现拼写检查功能的组件之间共享。

与产品有关的信息,包括功能、组件的描述等,都在一个安装数据库中集中保存。安装数据库其实只是一个带.msi扩展名的文件,它不仅包含了产品的功能、组件的信息,而且还定义了安装产品期间各个用户界面的显示次序。由于Windows Installer注册成了.msi文件的服务程序,当用户打开.msi文件时,操作系统会自动调用Windows Installer。按照这种方式启动Windows Installer时,Installer从安装数据库读取产品信息,判断该产品是否已经安装。如果尚未安装,Installer按照安装数据库的描述开始安装操作;如果产品已经安装,可能执行其他处理,例如添加/删除某项功能,或者卸载整个产品。

时间: 2024-09-21 19:35:33

部署ASP.NET的三大技术(上) (2)的相关文章

部署ASP.NET的三大技术(上) (3)

asp.net 6.2 VS.NET Web安装项目的特点 VS.NET中的部署项目以Windows Installer的功能为基础,允许我们执行如下操作: ⑴ 读取.写入注册键. ⑵ 在目标服务器的Windows文件系统中创建目录. ⑶ 提供注册组件的机制. ⑷ 提供安装期间从用户收集信息的机制. ⑸ 允许设置启动条件,例如检查用户名字.计算机名字.当前的操作系统.已经安装的软件.是否已经安装了.NET CLR,等等. ⑹ 允许在安装结束后运行自定义的配置程序或脚本. 在下面一节中,我们将了解

部署ASP.NET的三大技术(上) (1)

asp.net 提纲: 一.概述 二.ASP.NET Web应用的结构 三.ASP.NET支持的部署机制 四.用XCOPY命令部署 五.用VS.NET的"复制项目"功能部署 六.用Web安装项目部署 6.1 Windows安装程序 6.2 VS.NET Web安装项目的特点 七.创建Web安装项目 八.安装ASP.NET Web应用程序 九.结束语 正文: 一.概述 在深入到配置和部署ASP.NET Web应用程序的具体步骤之前,理解配置(Setup)和部署(Deployment)之间

部署ASP.NET的三大技术(下) (3)

asp.net 除了"启动画面"对话框之外,用户界面编辑器还提供了许多其他预定义的对话框,例如"许可协议"."自述文件"."注册用户"."客户信息"等,这些对话框都可以利用图五的"添加对话框"窗口直接加入. 八.部署IIS配置信息 在准备部署ASP.NET应用程序的时候,一个必须考虑的重要问题是如何在部署应用的同时部署IIS的配置信息.如果用直接复制的方法部署Web应用,例如用XCOPY

部署ASP.NET的三大技术(下) (1)

asp.net 提纲: 一.不同类型的部署编辑器 二.文件系统编辑器 三.注册表编辑器 四.文件类型编辑器 五.自定义操作编辑器 六.启动条件编辑器 七.用户界面编辑器 八.部署IIS配置信息 九.VS.NET安装项目 VS. 其他部署方案 正文: 在本文的第一部分中,我们看到了如何用各种不同的方式来部署一个ASP.NET Web应用,包括XCOPY部署.VS.NET的"复制项目"功能.VS.NET的Web安装项目.在这一部分,我们将了解如何利用VS.NET Web安装项目提供的功能,

部署ASP.NET的三大技术(下) (2)

asp.net 文件类型编辑器允许设置的属性 属性 作用 Name 为该类文件指定一个类型名称. Command 用户对该类文件执行操作时应当启动的应用程序 Extensions 指定该类文件的扩展名 Icon 指定该类文件的图标. Description 有关该类文件的简短描述 五.自定义操作编辑器 允许在安装时运行其他程序.自定义操作的运行顺序与它们在编辑器中的显示顺序相同.可通过鼠标拖动或使用"编辑"菜单上的"剪切"和"粘贴"命令将自定义操

ASP.NET新手教程:技术上的认识误区

.net如今已经很流行,成为赶时髦的程序员的首选.但是,大量刚刚接触.net的程序员的确存在一定的认识误区,这里先介绍一部分. 一..net程序再运行一次就会更快 许多人对此的解释是:.net程序第一次运行时会被编译成本地代码,所以再次运行会更快.但遗憾的是,其实每次运行,那些IL都会被翻译一次,不会保留下来.所以并不会变快.但为什么有时候真的觉得快了呢?其实所有程序都是这样,这是Windows再为你缓存用过的组件.真正需要CPU时间的程序,多运行是不会加快速度的. 二..net程序运行起来一定

一起谈.NET技术,在Mono 2.8上部署ASP.NET MVC 2

我们知道Mono 2.8对ASP.NET MVC 2的完全支持,下面我们就来测试下在Mono 2.8上部署ASP.NET MVC 2应用程序.我的环境是Opensuse 11.3,通过以下命令部署好Mono 2.8的开发环境,之所以说是开发环境是同时会更新MonoDevelop,支持Mono2.8的程序开发: zypper addrepo http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.3 mono-stable zypper

在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集

ajax|asp.net|程序|虚拟主机 由于ASP.NET AJAX 1.0 Beta将所需的程序集注册到了GAC中,因此有朋友担心无法在虚拟主机上部署ASP.NET AJAX了(总不见得让服务商在GAC中安装那些程序集吧).其实解决这个问题的方法非常简单.由于ASP.NET在搜索GAC之前,会首先在Bin目录中查找所需的程序集,因此只需简单地将所需的程序集复制到Web Site的Bin目录下即可. 当然,这只是部署ASP.NET AJAX 1.0程序集的方式,并不排除由于虚拟主机上的设置导致

百度ueditor编辑器部署ASP网站错误:百度编辑器ueditor部署服务器,浏览网页用户无法上传文件。

问题描述 报错信息:(本地能上传文件)--百度ueditor编辑器部署ASP网站错误POSThttp://www.by96.com/admin/ueditor/asp/controller.asp?action=uploadfile&encode=utf-8500(InternalServerError)webuploader.min.js:2b.register.sendwebuploader.min.js:2d.execwebuploader.min.js:1execwebuploader.