日期:2014-05-16  浏览次数:21981 次

IIS Express 的配置、使用和注意点

VS2010的SP1引入了IIS Express支持,这是值得高兴的事情……因为自带的ASP.net Development Server只能单站点运行、不能设置虚拟目录、多少个项目就会出现多少个等等等等巴拉巴拉,我对它恨之入骨,总之,很长一段时间内我进行开发实际上都是 用IIS的。但是用IIS有不方便的地方,就是必须开启IIS Admin服务,而且VS必须以管理员模式运行才能正常打开项目和调试。每次都以管理员模式启动已经比较麻烦了,比较郁闷的是,以管理员模式启动的vs处 于特权状态,所以程序间的文件拖放就失效了……换句话说,如果我想从资源管理器中直接拖一个文件到vs中打开,就办不到了。

所以对IIS Express一直是比较期待的。

本文包含内容

  1. 关于IIS Express的介绍
  2. IIS Express的配置文件中网站的配置
  3. 如何在VS2010中配置IIS Express
  4. 如何避免需要管理员身份启动IIS Express
  5. IIS Express比较有用的命令行参数

1.关于IIS Express的介绍

Scottgu 在 这篇文章 中介绍了伴随着ASP.net MVC 3而来的新东西,其中就包含IIS Express 7.5,介绍如下:

  • 轻量,易于安装,安装包不到5M;
  • 从VS中启动、调试应用程序不需要管理员身份;
  • 带有完整的WEB服务器功能支持——支持SSL、URL回写以及其它IIS7.x的模块
  • 和IIS7.x完全一致的web.config配置模型
  • 可以和IIS、ASP.net Development Server 同时安装,没有任何冲突
  • 支持XP及更高的操作系统,在所有的系统上都提供IIS7.x一致的开发功能

关于IIS Express常规的安装、使用,相关介绍的文章比较多,我就不多说了。这里说说没怎么见人提的地方。

2.关于配置文件

默认情况下IIS Express使用的配置文件位于“我的文档”中,路径如下:“我的文档\IIS Express\Config”。其中,applicationhost.config 是核心的配置文件,它用于承载站点的定义、应用程序和应用程序池以及整个WEB服务器的配置。由于是放在我的文档中的,所以修改它不需要管理员权限,意味 着可以直接修改。在修改后,下次启动应用程序就会起效。

在applicationhost.config内容中,<system.applicationHost> 用于定义网站和应用程序池。默认情况下,其内容如下:

  1. < system.applicationHost >
  2. ??? < applicationPools >
  3. ??????? < add ? name = "Clr4IntegratedAppPool "? managedRuntimeVersion = "v4.0 "? managedPipelineMode = "Integrated "? CLRConfigFile = "%IIS_USER_HOME%\config\aspnet.config "? autoStart = "true " />
  4. ??????? < add ? name = "Clr4ClassicAppPool "? managedRuntimeVersion = "v4.0 "? managedPipelineMode = "Classic "? CLRConfigFile = "%IIS_USER_HOME%\config\aspnet.config "? autoStart = "true " />
  5. ??????? < add ? name = "Clr2IntegratedAppPool "? managedR