↓全部展开↑
今日更新
技术新闻
精彩专题
IBM软件技术专区
最新更新
新闻专区
WebSphere
DB2
Tivoli
Lotus Notes
教程和案例
培训与认证
微软开发专区
最新更 新
VB/VC
C#&J#
.NET特 区
Web Services
XML
Windows 世界
Office
培训与认证
技术文档中心
编程语言
最新更新
JAVA
DELPHI
PowerBuilder
C/C++
VC/VB
培训与认证
开发者之家
网络通信
最新更新
专题荟萃
技术前沿
组网建网
通信天地
产品方案
网络入门
无线局域网专区
路由器专 区
Cisco认证
综合布线培训
网管员世界
网络安全
最新更新
技术专题
安全技术精粹
安全公告
产品方案
防火墙专区
IDS专区
Symantec认证
Check Point认证
网管员世界
LINUX/UNIX
最新更新
基础知识
技术开发
桌面应用
企业应用
精彩问答
开放系统世界
Red Hat认证
Turbolinux认证
SCO认证
开发者之家
软件工程与管理
最 新更新
软 件工程
软件测试
项目管理
CMM
软件工程培训
数据库开发
最新更新
SQL Server
DB2
ORACLE
PowerBuilder
MYSQL
ORACLE认证
Sybase认证
开发者之家
WEB开发
最新更新
ASP
JSP
PHP
XML/SOAP
JavaScript
HTML
CSS
企业应用与开发
最新更新
应用开发
应用分析
解决方案
成功案例
ERP专区
SCM专区
CRM专区
网络存储专区
电子政务专区
企业网建设专区
BOSS专区
企业信息化培训
移动开发
无线开发
BREW
SMARTPHONE
J2ME
SymbianOS
K-JAVA
资源中心
最新更新
在线教程
软件下载
例程源码
培训和认证
原创专栏
俞良松
王凯明
马金虎
雷年胜
陶 刚
陈立峰
曹江华
更多原创
开放系统世界
人才与培训
技术天地论坛
开发者之家
网管员世界
只谈网事
WLAN无限未来
培训与认证社区
厂商列表
IBM
Microsoft
社区推荐
·
女性身体内部人体受孕..
·
十部顶级的变态与情色..
·
感情放纵让我毁了两个..
·
当我撞见姐姐和男友在..
·
卖淫少女惨遭泄愤民工..
·
偷拍街上的走光mm绝对..
·
百度打击google的广告
·
港娱乐圈与黑社会揭秘
赛迪网
>>
技术应用
>>技术开发
最新更新
|
C# & J#
|
VB/VC
|
.NET
|
Web Services
|
XML
|
Windows
|
Office
|
社区
最新更新
|
J2SE
|
DELPHI
|
PowerBuilder
|
C/C++
|
VC
|
互动社区
最新更新
|
专题荟萃
|
WLAN
|
组网建网
|
通信天地
|
路由技术
|
网络入门
|
互动社区
最新更新
|
技术专题
|
数据库及Web安全
|
病毒
|
方案
|
漏洞
|
基础入门
|
黑客攻防
|
安全动态
|
Windows
|
Linux
|
最新更新
|
基础知识
|
技术开发
|
桌面应用
|
企业应用
|
精彩问答
|
开放系统世界
|
互动社区
最新更新
|
软件工程
|
软件测试
|
项目管理
|
CMM
|
软件工程培训
最新更新
|
SQL Server
|
DB2
|
ORACLE
|
PowerBuilder
|
MYSQL
|
互动社区
最新更新
|
ASP.NET
|
J2EE
|
PHP
|
XML
|
JavaScript
|
最新更新
|
应用开发
|
技术应用
|
解决方案
|
成功案例
|
ERP专区
|
CRM专区
|
SCM专区
无线开发
|
BREW
|
SMARTPHONE
|
J2ME
|
Symbian OS
|
K-JAVA
在线教程
|
软件下载
|
例程源码
|
培训和认证
编程语言
|
网络通信
|
网络安全
|
LINUX
|
软件工程
|
数据库
|
企业应用
|
移动未来
|
资源中心
关键字:
asp.net
来 源:
赛迪网
部署ASP.NET的三大技术(上) (1)
作者:Thiru ;仙人掌工作室 编译
发文时间:2003.10.23
提纲:
一、概述
二、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。
图二
可以看到,XCOPY命令有许多选项:
⑴ /E:表示将源位置的目录、子目录和文件都复制到目标位置,包括空目录。
⑵ /K:保留所有现有的文件和文件夹的属性。默认情况下,XCOPY命令复制文件或目录结构时会忽略文件的属性,例如,如果文件原来有只读属性,复制到目标位置后只读属性丢失。要保留原来的文件属性,必须加上/K选项。
⑶ /R:覆盖带有只读属性的文件。
⑷ /O:保留文件或文件夹的所有与安全有关的ACL权限设置。
⑸ /H:隐藏文件和系统文件也要复制。
⑹ /I:要求XCOPY将目标位置视为一个目录,如指定的目录不存在,则创建它。
把文件夹复制到目标服务器之后,接下来在目标服务器上用IIS管理器创建一个虚拟目录,把虚拟目录映射到XCOPY创建的物理目录——这就是用XCOPY将一个ASP.NET Web应用部署到远程服务器所要做的全部操作。
1
2
3
下一页>>
赛迪网推出“IT博客”,花不到一分钟就完成注册
【
评论
】 【
推荐
】 【
大
中
小
】 【
打印
】 【
关闭
】
·Linux专区·
·黑客攻防·
·
Linux下添加硬盘、分区、格式化任务详解
·
FreeBSD服务器的安装与优化之优化篇
·
初学者入门:FreeBSD服务器的安装与优化
·
金企鹅杯两岸四地开源软件大赛圆满结束
·
如何提高Linux系统安全性的十大招数
·
构筑Linux防火墙之为个人用户设置防火墙
·
谁更安全?黑客眼中的防火墙与路由器
·
识破骗局 练就识别QQ活动真伪火眼金睛
·
应用安全大有可为:目的、挑战、总结
·
道高一尺魔高一丈:安全防御的动感魅力
·
警惕网络“内”院起火 积极谋求安内之路
·
HHCTRL漏洞被黑客利用 疯狂传播木马
·中国信息化·
·成功案例·
·
ERP普及化是饮鸩止渴 精细化才是应用之道
·
赛门铁克第八期《互联网安全威胁报告》解析
·
抢食“数字工商” 国产中间件杀出血路
·
从IBM等操作系统的发展看软件创新的启示
·
服务成就蓝色快车 品牌是怎样炼成的?
·
三大技术应用大会合为一体甲骨文上演三重奏
·
南阳教育城域网 拆掉学校间的“围墙”
·
金算盘助申意美步入信息化快车道
·
不为人知的索尼信息化 谁是幕后英雄?
·
InforBus/Q在穗高速路联网收费系统中的应用
·
J2EE构建最新金融理念和运作模式的网上银行
·
食品安全令人担心 信息化能否保驾护航
*
姓 名:
更多资料
了解方案
认识厂商
*
单位名称:
详细需求信息请在此处填写!
*
联系电话:
*
电子邮件:
◆ 相关文章
◆ 站内热点推荐
·
ASP.Net中自定义Http处理及应用之HttpModule篇
·
ASP.Net中自定义Http处理及应用之HttpHandler篇
·
开发ASP.NET的用户和服务器控件
·
用ASP.Net 实现网站新闻管理系统
·
网管员论坛
·
开发者之家
·
WLAN无限未来
·
我是如何掉进C#的……
·
中国“人件”非正式调查
合作网站:
IBM dW中国网站
LinuxAID
软件工程专家网
中国系统分析员
UMLChina
MATRIX
Mobile2008
JavaResearch
华储网
UML软件工程组织
中国JAVA手机网
JAVA中文站
金山在线
海量科技