VS 2010 SP1 (Beta)与IIS Express

[原文发表地址] VS 2010 SP1 (Beta) and IIS Express
[原文发表时间] January 03, 2011 10:56 PM

上个月我们发布了VS 2010 服务包1(SP1) Beta版。你能从Jason Zander的两篇博文和Scott Hanselman涵盖SP中可用新功能的博文中获取更多相关信息。

你可以从这里下载和安装VS2010 SP1 Beta。

IIS Express

夏初我发表过一篇关于IIS Express的博文。 IIS Express是为开发人员场景进行了优化的IIS 7.5免费版。 我们认为它整合了如今内置在VS中的ASP.NET Web 服务器(aka Cassini)的易用性和IIS的全副功能。具体是:

·        是轻量级的,容易安装(下载量小于5Mb,安装很快)

·        不要求管理员账户来运行、调试Visual Studio中的应用程序

·        实现了完整的web-服务器功能集——包括SSL,URL重写,和其他IIS 7.x模块

·        支持并启用IIS 7.x所支持的同样的可扩展模型和Web.Config文件设置

·        能与完整的 IIS Web 服务器和ASP.NET 开发服务器并行安装(一点都不冲突)

·        能和Windows XP及以上操作系统一起使用——给你提供一个适应所有Windows操作系统平台的完整IIS 7.x 开发者功能集

IIS Express(和ASP.NET开发服务器一样)能快速启动去运行一个磁盘地址上的网站。它不需要任何注册或配置步骤。这让它真的很容易在开发场景中启动和运行。

Visual Studio 2010 SP1中新增了对IIS Express的支持——你能通过上个月发布的VS 2010 SP1 Beta开始使用它。

下载和安装IIS Express

IIS是独立的,不属于VS 2010 SP1 Beta的一部分。请通过这个链接下载你所需要的4M左右的IIS并安装(利用WebPI进行安装)。

一旦IIS Express装好,VS2010 SP1将支持一些新的IIS Express命令和对话框选项,将会让你更加容易使用。

为现有的项目启用IIS Express

当前的Visual Studio在运行ASP.NET项目时默认使用内置ASP.NET 开发服务器(aka Cassini):

让你现有的项目转成使用IIS Express真的很简单。你可以通过打开现有项目的项目属性对话框,然后点里面的“web”选项卡,选择“使用IIS Express”复选框来完成。

甚至更简单的,只要在你的现有项目上点右键,选择“使用IIS Express…”菜单命令:

现在当要运行或调试项目时你会看到IIS Express现在作为你的web服务器自动开启并运行:

你能选择在系统栏内的IIS Express图标上点右键来查看、浏览所有运行在它上面的网站和应用程序:

注意如果你想恢复到使用ASP.NET 开发服务器,你可以再次右击工程,然后选择“使用Visual studio 开发服务器”选项(或到项目属性里面,点Web选项卡,取消选中IIS Express)。这样下次你运行项目的时候将恢复到ASP.NET开发服务器状态。

IIS Express属性

Visual Studio 2010 SP1暴露了几个新的IIS Express配置选项, 这些在之前用ASP.NET开发服务器时是不能设置的。其中一部分是通过项目的属性窗格呈现的(在解决方案资源管理器中选择项目节点,然后通过属性窗口更改它们):

比如,启动像SSL支持之类的东西(对ASP.NET开发服务器是不可能的)现在可以很容易地通过将“SSL Enabled”属性设置为“True”实现:

一旦这个操作完成IIS Express将暴露项目的HTTP和HTTPS两个端点供我们使用:

SSL 自签证书

IIS Express随一个自签证书一起发布,作为安装的一部分,它让你在开发中使用SSL时不需要安装自己的证书。一旦你更改了上面的下拉菜单以启用SSL,你就能用合适的Https:// URL前缀通过SSL连接浏览你的网站。

但是使用自签证书需要注意的是,浏览器(比如IE)会必厌其烦地警告你它们不能被信任:

你能标记证书为可信任的以避免再遇到这样的对话框——或只要保持证书不被信任,在浏览器警告你不要信任你的本地Web服务器的时候点“继续”按钮。

其他IIS设置

IIS Express使用其自己的每用户(per-user)ApplicationHost.Config文件来配置默认服务器行为。因为它是每用户的,所以能被没有管理员权限的开发人员所配置,这和完整的IIS不一样。如果你想要最大程度地定制服务器,你能通过它定制所有IIS功能和配置(比如:为SSL使用你自己的证书而不是自签证书)

我们建议将所有针对IIS和ASP.NET的特别设置都存储在作为项目的一部分的web.config文件中——因为能让应用程序的部署更简单(既然设置能随同应用程序内容一起复制)。 IIS(自IIS 7起)不再使用元数据(Metabase),而是使用和ASP.NET一直支持的相同的Web.config配置文件——这让基于xcopy/ftp的部署更容易。

让IIS Express成为你的默认Web服务器

上面我们看过了如何将现有的使用ASP.NET 开发者Web服务器的网站转为使用IIS Express。

你能配置Visual studio使所有新项目使用IIS Express作为默认web服务器,通过: 点工具->选项菜单命令,打开选项对话框内的项目和解决方案->web项目节点:

点“对新的基于文件的网站和项目使用IIS Express”复选框,会让Visual Studio对所有的新网站和项目使用它。

总结

我们认为IIS Express使创建、运行和测试web应用程序变得更简单。它能与所有版本的ASP.NET一起使用,支持所有的ASP.NET 应用程序类型(显然包括ASP.NET web窗体和ASP.NET MVC应用程序)。因为IIS Express是基于IIS 7.5 代码库的,你有一个可使用的完整的web-服务器功能集。这意味着你能构建和运行你的应用程序,就像他们在真的生产 web 服务器上一样。除了支持ASP.NET之外,IIS Express还支持传统的ASP和 IIS所支持的其他文件类型和扩展——对整合了各种不同技术的网站来说再完美不过了。

最重要的是——你不必为了使用它更改任何代码。如上所见,让现有的Visual Studio web 项目来使用它的改动是很小的。你能从现在开始通过VS2010 SP1 Beta来使用IIS Express.

希望对您有所帮助


上一篇博客:我的“2010精华集锦”博文链接