|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
提纲: 一、概述 二、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)之间的区别是十分必要的。配置是指将应用包装成易于部署的形式,包装好之后的应用程序可以方便地安装到目标服务器上。部署是一个获得应用程序并将它安装到另一台机器上过程,一般通过安装程序完成。 许多用户都曾经碰到过Windows软件安装技术的脆弱点――当我们安装某个软件的新版本时,安装程序将新版的dll文件复制到系统目录,同时执行所有必要的注册表修改操作,但是,安装操作可能影响其他运行在同一机器上的软件,尤其是原有的软件和新安装的软件共享某一组件时,出现问题的可能性更大。假如新安装的组件与它的早期版本向后兼容,当然没有问题,但许多情况下,完全保持向后兼容难以做到,所以常常会碰到安装了一个新软件之后损坏原有软件的情形,这就是臭名昭著的DLL Hell问题。 Visual Studio.NET(VS.NET)的设计目标之一就是解决安装Windows软件时常常碰到的问题。VS.NET应用的许多功能都依靠.NET框架类库实现,.NET框架类库建立了一个全新的编程模型,从而为极大地简化安装过程创造了条件。另外,VS.NET应用程序编译成程序集(Assembly),程序集是由一个或多个支持程序集运行的文件构成的部署单元。微软.NET框架引入了许多简化应用程序部署、解决DLL Hell问题的新特性,例如,配置信息可以保存在web.config配置文件,web.config配置文件是一个XML格式的文本文件,可以利用XCOPY之类的命令直接复制和部署到目标服务器。 在探讨各种部署机制之前,我们首先来了解一下ASP.NET应用的结构,因为正是这个结构才使得应用能够方便地部署到目标服务器上。 二、ASP.NET Web应用的结构 ASP.NET应用程序由各种Web页面(.aspx和HTML文件)、处理程序、模块、执行代码和其他文件(例如图形文件,配置文件等)构成,这些文件都可以从Web服务器的虚拟目录引用。假如使用了.aspx文件的CodeBehind机制,ASP.NET应用程序还包含编译好的程序集,另外还有其他支持应用程序的程序集,例如,可以把应用的业务逻辑封装成一个单独的程序集。程序集一般位于应用程序虚拟目录的bin子目录下。要理解VS.NET如何简化部署过程,必须理解程序集的结构,因为正是程序集的结构特点才使得简化部署成为可能。程序集包含四种元素: ⑴ MSIL代码,即微软中间语言代码:编译应用程序代码时,源代码被编译成所谓的MSIL代码。MSIL代码是.NET公共语言运行时环境(CLR)所理解的代码。 ⑵ 元数据:描述代码中定义的类型、方式和其他元素。 ⑶ Manifest:包含名称和版本信息,程序集中包含文件的清单,安全信息,等等。 ⑷ 支持文件和资源。 从这个结构可以看出,程序集包含了完整的自我描述信息,所以VS.NET应用程序根本不必象COM组件那样在注册表中注册。这就是说,只要目标机器上也安装了.NET框架,安装VS.NET应用程序时只要简朴地将必需的文件复制到目标机器就可以了,这就是所谓的XCOPY部署。不过,除了XCOPY之外,还可以使用VS.NET提供的“Web安装项目”实现自动部署。在接下来的内容中,我们将看到如何利用各种不同的部署机制部署一个Web应用。 三、ASP.NET支持的部署机制 ASP.NET Web应用程序支持下列三种部署方案: ⑴ XCOPY部署 ⑵ 利用VS.NET的“复制项目”功能部署 ⑶ 使用VS.NET的“Web安装项目”部署 在接下来的内容中,我们将深入了解所有这三种部署机制。为便于说明,我们先要创建一个Visual C# ASP.NET Web应用程序,应用的名称为DeploymentExampleWebApp,如图一所示。 ![]() 图一 我们将以这个项目为例,阐述部署Web应用的各种方式。 四、用XCOPY命令部署 .NET框架的主要目标之一就是简化部署,例如支持XCOPY部署。在了解.NET如何支持XCOPY部署之前,我们先来看看XCOPY部署到底是怎么回事。在.NET之前,安装一个组件(例如一个COM组件)意味着不仅要把组件复制到适当的目录,而且还要执行注册表修改之类的操作。但现在有了.NET,安装一个组件的全部操作就是将程序集复制到客户应用程序的bin目录,由于程序集包含完整的自我描述信息,应用程序可以立刻开始使用程序集。这一切之所以成为可能,是因为编译器将标识符和元数据信息嵌入到了编译好的模块之中,而CLR利用这些信息来装入程序集的适当版本。标识符包含了装入和运行模块、查找程序集引用的其他模块所需的所有信息。这种安装也称为无干扰(Zero-Impact)安装,因为系统不会因为修改注册表、配置组件而受到影响;另外,无干扰安装也使得组件卸载操作不会对系统产生任何意外的影响,卸载组件时只要从特定的目录删除某些文件就可以了。 执行XCOPY部署时,唯一要做的就是打开一个命令窗口,用XCOPY命令将必要的文件复制到服务器的特定目录。图二显示了如何用XCOPY部署将名为DeploymentExampleWebApp的Web应用部署到目标服务器RemoteServer。 ![]() 图二
返回类别: 教程 上一教程: asp.net高级教程(四)-实战篇 下一教程: VS.NET IDE(集成开发环境) 开发环境界面介绍 您可以阅读与"部署ASP.NET的三大技术(1)"相关的教程: · 部署ASP.NET的三大技术(6) · 部署ASP.NET的三大技术(5) · 部署ASP.NET的三大技术(4) · 部署ASP.NET的三大技术(2) · 部署ASP.NET的三大技术(3) |
| 快精灵印艺坊 版权所有 |
首页 |
||