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

asp.net

除了“启动画面”对话框之外,用户界面编辑器还提供了许多其他预定义的对话框,例如“许可协议”、“自述文件”、“注册用户”、“客户信息”等,这些对话框都可以利用图五的“添加对话框”窗口直接加入。

八、部署IIS配置信息

在准备部署ASP.NET应用程序的时候,一个必须考虑的重要问题是如何在部署应用的同时部署IIS的配置信息。如果用直接复制的方法部署Web应用,例如用XCOPY命令、Windows资源管理器的复制功能、FTP操作等,部署操作显然不涉及IIS的配置信息,IIS的配置必须单独设置,或者在目标机器上手工设置,或者编写脚本程序自动设置。

如果用VS.NET的“复制项目”功能部署应用,目标服务器上会自动创建虚拟目录,但IIS的配置信息仍旧不会复制到目标服务器上新建的虚拟目录,新建的虚拟目录只是从Web网站继承默认的设置,也就是说,我们仍旧要单独设置IIS的配置信息。只有用Web安装项目来部署ASP.NET应用程序,我们才可以让安装程序自动在目标机器上设置IIS的配置信息。

要配置虚拟目录的设置信息,首先打开文件系统编辑器,右击“Web应用程序文件夹”,选择菜单“属性窗口”,打开图六的“属性”窗口。

图六

在图六对话框中,我们可以配置许多重要的属性,包括:

⑴ AllowDirectoryBrowsing:允许设定指定目录的IIS目录浏览属性。这个设置项目相当于IIS管理器中Web网站属性对话框目录设置页的“目录浏览”检查框,可以设置为True或False。

⑵ AllowReadAccess:该属性允许设定文件夹的IIS“读取”属性,可以设置成True或False。

⑶ AllowScriptSourceAccess:该属性设置文件夹的IIS“脚本资源访问”属性。

⑷ AllowWriteAccess:该属性设置文件夹的IIS“写入”属性。

⑸ ApplicationProtection:该属性设置文件夹的IIS“应用程序保护”属性,可以设置成vsdapLow、vsdapMedium、vsdapHigh。

⑹ AppMappings:该属性设置文件夹的IIS“应用程序映射”属性。

■ 设置其他IIS属性

某些IIS配置属性不能在Web安装项目的属性窗口中直接设置,包括目录安全的配置(匿名访问,基本验证或Windows验证)、自定义错误等。

但是,我们可以用其他办法解决问题,其中一种很有效的办法是在Windows安装文件中采用“自定义操作”。如前所述,我们可以用“自定义操作”在安装结束时运行一些代码,完成安装期间未能执行的操作,自定义操作的代码可以是DLL、执行文件、脚本或程序集。

■ 安装ASP.NET Web应用

创建好Windows安装文件(.msi文件)后,在目标服务器上安装ASP.NET应用就很方便了,只要在Windows资源管理器中双击.msi文件就可以启动安装向导,安装向导将帮助用户完成整个安装过程。安装好ASP.NET应用程序后,我们可以在控制面板的“添加或删除程序”功能中看到该应用程序,而且可以利用“添加或删除应用程序”功能随时删除已安装的ASP.NET应用。

九、VS.NET安装项目 VS. 其他部署方案

如前所述,我们可以用下列方案之一来部署ASP.NET Web应用:

⑴ XCOPY或VS.NET的“复制项目”功能。

⑵ VS.NET的Web安装项目。

任何技术都有局限,用XCOPY和“复制项目”功能部署.NET应用也不例外。一般地,它们只适用于比较简单的、允许手工操作的场合,同时用于即时更新也很理想。但是,在某些场合,XCOPY不太适用,我们需要某种更加强大的部署方案,例如:

⑴ .NET应用程序用到了一些COM组件,我们想要自动部署这些COM组件(而不想手工部署),必须在安装期间完成这些COM组件的注册。

⑵ 需要在远程计算机上把一个程序集预编译成本机代码。

⑶ 需要将一些程序集安装到远程机器的Global Assembly Cache。

⑷ 需要将一个应用程序安装成Windows服务。

⑸ 打算创建桌面快捷方式、把程序加入到“添加或删除程序”清单、创建“开始”菜单的快捷方式,等等。

在上面这些情况下,我们需要一种更加强大的部署方案,这就是VS.NET提供的Web部署项目。许多时候,实际使用某种部署方案的是最终用户,最终用户往往缺乏手工配置应用所必需的技能,VS.NET的Web安装项目提供了很容易使用的用户界面,把安装期间必须执行的各种复杂的配置操作全部自动化。不仅如此,VS.NET的Web安装项目还有下列优势:

⑴ 当我们安装一个应用程序时,有关应用的所有信息都被记录在一个Windows安装数据库中。如果我们要删除该应用程序,系统会检查安装数据库,确认其他应用程序不依赖于某些将要被删除的组件,从而避免臭名昭著的DLL Hell问题。

⑵ 如果安装失败,可以执行彻底的回退,从系统清除一切安装痕迹。

结束语:在这篇文章中,我们探讨了部署ASP.NET Web应用程序的各种方案,包括XCOPY、VS.NET的“复制项目”功能,以及VS.NET的Web安装项目,了解了各种部署方案的优缺点及其适用场合。希望本文介绍的内容对你有所帮助。

时间: 2024-12-03 05:56:21

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

部署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的三大技术(上) (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的三大技术(上) (2)

asp.net 五.用VS.NET的"复制项目"功能部署 VS.NET的"复制项目"功能使我们能够非常轻松地把ASP.NET Web应用部署到目标服务器.这个功能既可以把Web项目复制到同一服务器,也可以复制到不同的服务器. 如果你用VS.NET开发Web应用程序,发布Web应用之前要做的第一件事情是把"活动的解决方案配置"从Debug改成Release,如图三所示,这个选项不仅使编译器优化代码,而且删除所有与调试有关的符号信息,使代码运行速度更

IIS6下部署ASP.NET MVC应用程序

通常在IIS6下部署ASP.NET MVC应用程序的时候,都是直接设置把所有请求都交由ASP.NET的ISAPI处理.MVC是基于ASP.NET的,框架默认对于任何请求都会优先检查物理路径是否存在物理文件,如果存在的话就不通过MVC的路由机制,否则才走路由. 因此,如果在不考虑控制静态资源权限的情况下,可以设置静态资源不通过ASP.NET的ISAPI,而直接由IIS处理,通过这种方式提升一些性能.本文围绕这个主题,详解部署过程. 0.在设计MVC网站的时候,把静态资源统一放在一个文件夹下,建议目

ubuntu16.4下用jexus部署ASP.NET Core环境_实用技巧

上篇文章介绍了下用vs发布部署到iis环境,今天说下ubuntu下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net core. 1.部署准备环境 vmware虚拟机(其他也可以) ubuntu16.04镜像 2.发布环境 win10系统 vs2015 update3 或vs code (也可以用dotnet new -t web 命令创建项目) dotnet sdk DotNetCore.1.0.0-SDK.Pr

一起谈.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.NET4.0专家技术手册》---- 1-6 VS 2010 SP1安装与三个扩展管理工具

1-6 VS 2010 SP1安装与三个扩展管理工具 圣殿祭司的ASP.NET4.0专家技术手册 2011年3月,微软推出VS 2010 SP1软件补丁,里面包含许多新功能与问题修正,其中与Web开发相关新功能有: IIS 7.5 Express精简版网页服务器的支持(IIS 7.5 Express需额外下载安装): SQL Server CE 4.0的支持(SQL Server CE 4.0需额外下载安装): Razor语法支持: 可部署的依赖性支持(Deployable dependenci