版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持.IIS Express的配置、使用和注意点VS2010的 SP1 引入了 IIS Express支持,这是值得高兴的事情。因为自带的ASP.NetDevelopment Server只能单站点运行、不能设置虚拟目录、多少个项目就会出现多少个等等等等巴拉巴拉,我对它恨之入骨,总之,很长一段时间内我进行开发实际上都是用IIS的。但是用IIS有不方便的地方,就是必须开启IIS Admin服务,而且VS 必须以管理员模式运行才能正常打开项目和调试。每次都以管理员模式启动已经比较麻烦了,比较郁闷的是,以管理员模式启动的vs 处于特权状态
2、,所以程序间的文件拖放就失效了换句话说,如果我想从资源管理器中直接拖一个文件到vs 中打开,就办不到了。所以对 IIS Express一直是比较期待的。本文包含内容:1.关于 IIS Express的介绍IIS Express 的配置文件中网站的配置如何在 VS2010 中配置 IIS Express4.如何避免需要管理员身份启动IIS Express5.IIS Express 比较有用的命令行参数1.关于 IIS Express的介绍在这篇文章中介绍了伴随着ASP.net MVC 3 而来的新东西, 其中就包含 IIS Express 7.5,介绍如下:?轻量,易于安装,安装包不到5M ;?
3、从 VS 中启动、调试应用程序不需要管理员身份;?带有完整的 WEB 服务器功能支持 支持 SSL 、URL 回写以及其它 IIS7.x 的模块;?和 IIS7.x 完全一致的 web.config 配置模型;?可以和 IIS 、 ASP.net Development Server同时安装,没有任何冲突;?支持 XP 及更高的操作系统,在所有的系统上都提供IIS7.x 一致的开发功能。关于 IIS Express常规的安装、使用,相关介绍的文章比较多,我就不多说了。这里说说没怎么见人提的地方。关于配置文件默认情况下 IIS Express 使用的配置文件位于 “我的文档 ”中,路径如下: “
4、我的文档 IIS Config ”。其中, applicationhost.config 是核心的配置文件,它用于承载站点的定1文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持.义、应用程序和应用程序池以及整个 WEB 服务器的配置。由于是放在我的文档中的,所以修改它不需要管理员权限,意味着可以直接修改。在修改后,下次启动应用程序就会起效。在 applicationhost.config内容中,用于定义网站和应用程序池。默认情况下,其内容如下:..3.!-16.The section defines the protocols
5、with which the17.Windows Process Activation Service (WAS) binds.18.-8.2文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持.7.38.39.IIS Express内建了五个应用程序池,分别对应.Net 2.0/4.0的集成 / 经典模式、以及一个非托管程序池。默认的程序池版本有节来配置。 节用于配置网站。网站的默认应用程序池和虚拟目录默认配置由和节点配置。以上的节点默认情况下我们并不需要太多关注,因为大多数情况下我们需要关注的只有 下
6、的 节点,这里保存了网站、应用程序的定义,才是我们需要真正关心的。.每个 就是一个网站。这和 IIS中的网站是一样的概念。 serverAutoStart设置了是否随着IIS Express 的启动而自动启动。如果设置为true ,那么每次IIS Express启动都会自动加载(如果没有指定网站的话),否则只有以指定特定网站的模式运行时才会加载。使用 IIS Express 加载特定网站的语法是:IISExpress.exe /site: .下的 设置了这个站点的绑定信息。节点下的每个 都是一个端口绑定信息。典型的绑定配置如下:protocol指定了绑定的协议类型( IIS Express 内
7、建了 HTTP 和 HTTPS 两种协议支持),而“*:8080:localhost 则”指定的绑定的具体信息,它有三个部分组成:“绑定的 IP: 端口 :主机名”。默认情况下, 绑定到任何本地 IP 、非保留端口、 绑定到 localhost 。注意这个 localhost ,有讲究,特定情况下可能会导致你很困惑,请参考本文后面的内容。 .这个节设置了网站的应用程序每个网站都需要至少一个映射路径为“/应”用程序(它映射到根目录)。除此之外,你可以继续添加并行的不同路径的,这就类似于IIS 中的网站里配置的应用程序。3文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持.例如,在
8、 FishSite这个网站中,我需要添加一个单独的应用程序,映射到根目录下的fish目录,那么我就可以这样配置:1.2.3.virtualDirectorypath =/ physicalPath = /5.6.virtualDirectorypath =/ physicalPath = /7.virtualDirectorypath =/content/ physicalPath = /8.10.在 中,只有 path=/ 这个应用程序是必须的(不能缺少),其它都是可以任意添加的。 .设置了目录的映射信息参见上面展示的代码。在每个 节下,必须至少存在一个 path=/ 的 virtualDi
9、rectory ,它代表了这个目录映射的位置。除此之外,可以手动添加多个映射的路径不同的虚拟目录。关于虚拟目录的支持IIS Express支持虚拟目录,这是对我来说很重要的一个改进,因为实际的项目中经常有很多目录是共享的,比如上传目录、配置文件目录等等,在ASP.net Development Server中这些都是办不到的。IIS Express的站点模型和IIS 是一致的,最基本的是站点,站点下可以区分应用程序、虚拟目录。配置文件中如何手动创建它们,请参考上节中的介绍自行创建。在VS 中如何创建呢?,将使用IIS或 ASP.net Development Server的项目迁移到IIS E
10、xpress上注意:你需要安装VS2010 SP1 来让 VS2010 支持 IIS Express 。在“解决方案管理器”中右击网站项目,并选择“使用 IIS Express. 即”可:4文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持.VS 会使用一个新的默认端口在IIS Express中创建网站。,如果你想要将当前项目作为一个虚拟目录映射到现有的某个站点或新网站的根目录下,那么推荐在项目属性中更改(项目属性-WEB ):输入完成后,直接点击 “创建虚拟目录 ”即可完成转换操作。 VS 将会自动在本机的IIS Express中完成配置。,如果想映射到一个本地目录(比如资源
11、共享,上传目录等)到IIS Express承载网站的应用程序下那么可以参考上面介绍的配置文件手动更改。貌似 IIS Express中的appcmd也可以更改,不过个人觉得这类简单的配置,直接编辑就搞定了,用appcmd的话还需要先去学习怎么用它,怪麻烦的。例子可以参考前面相关的内容。关于管理员身份启动IIS Express设计是为了避免需要管理员权限就能完成大部分操作的。但是个别情况下它会要需要管理员权限才能运行(我当时在这里就栽了跟头,研究了N 久)。这类的限制包括:?绑定到了保留的端口(通常位于1024 以下的端口,如80 、88 、 443 等);?没有绑定 localhost ,而是绑
12、定了域名或其它内容;?使用了 HTTPS ,但是端口不在44300-44399 范围内;?使用了自己的 SSL 证书的 HTTPS 。,使用了保留的端口5文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持.通常操作系统的 HTTP.sys(网络内核)将 1024 以下的端口设计为保留端口, 如果 IIS Express 需要绑定到这些端口,则需要它拥有管理员权限,否则就会失败。错误类似这样:反映到系统的日志中,就是这样的错误:要解决这个问题,很简单,只要将端口绑定到非保留端口即可(大于1024 ),或使用管理员身份启动它 备注 1。,绑定了其它域名默认情况下, IIS Expr
13、ess 只能绑定到 localhost 。如果需要绑定到具体的域名供外部访问而又没有解决方案,那么就会遭遇到失败的问题。要解决,也很简单 就是使用管理员身份启动它备注1。,使用了 HTTPS ,但是端口不在 44300-44399之内IIS Express 用于承载 HTTPS 站点测试时,端口会限制在 44300-44399之内,这同样是操作系统的限制。如果超过了这个范围,则需要以管理员身份启动它才能正常工作备注 1。,使用了自己的SSL 证书的 HTTPSIIS Express 默认会安装一个测试的自签名证书用于开发,这允许开发人员在没有SSL 证书的情况下进行开发。 但是如果站点使用了自
14、己的SSL 证书,则会导致 IIS Express需要管理员身份才能启动备注1。6文档来源为 :从网络收集整理.word 版本可编辑 .欢迎下载支持.关于命令行启动选项,使用自己的config文件默认情况下 IIS Express 会使用在 “我的文档 ”中保存的 applicationhost.config。但是如果我们以命令行模式启动它,则可以指定配置文件的路径。命令行是: iisexpress /config:对于团队开发,这会比较有用,比如创建全局的config 签入到源代码管理中,这样能同步全局的服务器目录结构配置(当然,如果小项目或者没有目录映射的话就没多大意义了)。启动 IIS
15、Express 使用此命令行启动,就省去了每次牵出项目还得配置IIS Express 的麻烦(同时, 开发服务器的配置可以直接保存到项目中,也就避免了每个人的开发服务器可能有差别)。这种情况下,调试可以使用VS 的 “附加到进程 ”来完成。,启动一个临时网站有些情况下,我们需要启动一个临时的网站(比如快速创建一个临时服务器等),便可以用类似的命令行来创建:iisexpress /path: /port: /clr:iis express 会复制一份配置文件到临时目录,并变更其中的站点信息后再启动,因此不会影响到本机已经配置的网站。6. 结束语IIS Express 的出现让我着实高兴了一番,相比ASP.net Development Server 的过于简单、使用 IIS 每次都要以管理员身份启动VS 来说, IIS Express给我们提供了一个很好的折衷方案。虽然接受它需要花点儿功夫:-)备注 1:可以使用 netsh (vista或 win7/2008)或 httpcfg来更改系统注册表的配置, 请参考: /1005/handling-url-binding-failures-in-iis-express/备注 2 :更多的关于不使用管理员身份运行IIS Express 的信息,请参考:/1003/running-iis-express-withou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【初中生物】真菌-2024-2025学年七年级生物上册同步教学课件(人教版2024)
- 【初中生物】微生物的分布-2024-2025学年七年级生物上册同步备课课件(人教版2024)
- 2024就智能工厂建设与运营的合资合同
- 2024年度清雪业务承包合同
- 2024年度特许经营与加盟合同
- 2024建设工程的项目合作协议合同范本
- 2024个人小额贷款合同
- 2024股份合伙人合同范本
- 2024年工程设计合作伙伴协议
- 2024年度原材料采购担保合同
- 新时代大中小学思政课一体化建设研究
- 工业自动化系统集成项目验收方案
- 新教科版科学六年级上册全册实验汇总 (超全)
- 王洪图黄帝内经80课时讲稿
- 摊铺机司机班组级安全教育试卷
- 重症肌无力指南
- 限制被执行人驾驶令申请书
- 项目主要施工管理人员情况
- 个人借条电子版模板
- 关于学习“国语普通话”发声亮剑【三篇】
- 玻璃厂应急预案
评论
0/150
提交评论