微软发布IIS Express:Visual Studio全新内置的Web服务器

近日,Scott Guthrie发布了IIS Express:IIS的一个轻量级替代品,有希望替代Cassini(Visual Studio的内置Web服务器)。IIS Express旨在解决Cassini的众多问题,开发者可以使用完整的IIS 7.x特性进行开发。目前IIS Express还没有提供下载,但Scott说不久之后就可以了。

IIS Express的使用方式与Cassini一样,都是在调试或运行应用时启动。Windows XP或后面的操作系统都可以运行IIS Express,并不需要管理员帐户,它支持ASP、PHP、SSL、URL Rewrite、Media和其他IIS所支持的文件类型与扩展。对于SSL支持来说,在启动时会自动安装一个自我签名的证书。

给Visual Studio 2010安装完一个补丁后就可以在Visual Studio 2010和Visual Web Developer 2010 Express中使用IIS Express了,之后发布的Visual Studio将会自带IIS Express。早期版本的Visual Studio可以通过命令行的方式使用:

如果从命令行加载就可以在VS 2008中使用IIS Express了。除了VS 2010以外,我们并没有为其他版本的Visual Studio开发相应的集成工具支持。

Scott给出了命令行的完整使用方式与一些示例:

使用方式:

iisexpress [/config:config-file] [/site:site-name] [/systray:boolean]

iisexpress /path:app-path [/port:port-number] [/clr:clr-version] [/systray:boolean]

/config:config-file

applicationhost.config文件的全路径。默认值是位于用户的Documents目录下的IISExpress8configapplicationhost.config文件。

/site:site-name

要加载的站点名,在applicationhost.config文件中声明。

/path:app-path

待运行应用的完整物理路径。该选项不能与/config等相关选项一起使用。

/port:port-number

应用绑定的端口号。默认值是8080,还需要指定/path选项。

/clr:clr-version

运行应用的.NET Framework版本号(比如v2.0)。默认值是v4.0,还需要指定/path选项。

/systray:boolean

启用或禁用系统托盘应用,默认值是true。

示例:

iisexpress /site:WebSite1

该命令会运行用户配置文件中的WebSite1站点。

iisexpress /config:c:myconfigapplicationhost.config

该命令会运行指定配置文件中的第一个站点。

iisexpress /path:c:myapp /port:80

该命令会运行c:myapp目录中的站点,端口号是80。

Cassini的一个限制是只能从localhost访问,但Scott说可以修改IIS Express以支持远程请求。

有读者问到连接限制与重新发布的问题:

…可以将应用重新发布到IIS Express中,没有连接限制。

关于与Azure集成、SharePoint、Edit和Continue支持,Scott说到:

目前还没有集成Azure与IIS Express,但未来打算实现这个功能。

遗憾的是,IIS Express并不支持SharePoint,需要完整的IIS才行。

目前还不支持Edit和Continue,但未来有这个计划。

Scott还提到了IIS与IIS Express之间的一些差别:

两者的核心代码是一样的。主要差别在于IIS Express从命令行或是VS(或是其他工具)中加载工作进程。完整的IIS有个按需的工作进程模型和激活系统,可以根据需要启动或是停止工作进程。

Scott还提到IIS Express只是他们打算发布的众多组件中的一个,不久之后还会发布其他组件。