IIS Express简介
当前程序员只能通过下面两种Web服务器之一来开发和测试ASP.NET网站程序:
1. Visual Studio自带的ASP.NET开发服务器(webdev.exe)。
2. Windows自带的IIS Web服务器。
上面两个方案各有优缺点,而且很多ASP.NET程序员告诉我们:“我希望有一个像ASP.NET开发服务器那样容易使用,但是功能又跟IIS一样强大的服务器”。今天我很高兴地宣布,我们将提供另一个新的、免费的、综合了前两个方案的优点的选择—IIS Express,它的出现使得开发和运行ASP.NET网站程序变得更为容易。
IIS Express支持VS 2010和Visual Web Develop 2010 Express,可以运行在Windows XP和更高的版本上,它不需要管理员权限即可运行,也不要求代码做任何的改动。你可以用它开发所有类型的ASP.NET程序,而且它还支持完整的IIS 7.x功能集。
现有方案
在详细介绍IIS Express之前,我们先来看看ASP.NET开发服务器 [i]和IIS的工作方式。
ASP.NET开发服务器
Visual Studio自带的ASP.NET开发服务器(开发代号“Cassini”)的优势在于简练和便于快速启动。它不需要监听远程连接请求(因此在大部分企业的安全网络环境中都可以使用它),你甚至都不需要使用管理员账号就能启动它,而且它也不要求额外的安装步骤。
正是因为具备启动方便这一巨大优势,才使得它成为ASP.NET项目的默认服务器,当你在Visual Studio中按下F5时就会启动它。
但ASP.NET开发服务器的缺点是它不提供完整的Web服务器功能。比如说,它不支持SSL,URL重写规则(例如我在这篇 博客提到的 SEO URL重写规则),自定义安全设置,和其它在IIS 7中支持的功能。
IIS Web服务器
用Visual Studio运行和测试程序还有第二个选择— IIS。你可以通过右键单击Visual studio中的Web项目,打开它的属性(在属性窗口中单击“Web”标签)来配置Web工程使用IIS。
使用IIS作为你的开发服务器允许你测试完整的Web服务器具备的功能(SSL,URL重写规则等)。IIS是一个货真价实的Web服务器—这意味着和在作业服务器上部署差不多开发环境。
但是采用IIS的缺点是,有些公司并不允许在开发机上安装完整的Web服务器。IIS还要求使用管理员帐号来安装和调试网站。不同版本的Windows又支持不同版本的IIS。例如,在Windows XP上,你只能使用自带的IIS 5.1—所有IIS 7.x的新功能它都不支持。另外,在VS里配置网站项目使用IIS,还得一些额外的安装和配置步骤。
IIS Express — “鱼”和“熊掌”兼得
我们正在为IIS 7.x加点专为开发场景而优化的新风味,也就是“IIS Express”。我认为它综合了ASP.NET开发服务器易用性的优势和IIS强大的功能。确切地说:
- 它简练并且易于安装(文件大小不到10兆而且安装速度相当快)。
- 在Visual Studio中不需要管理员权限即可启动和调试程序。
- 提供了完整的Web服务器功能—包括SSL, URL重写,多媒体支持和所有其他的IIS 7.x模块。
- 它的可扩展模型和web.config配置结构和IIS 7.x是一样的。
- 它可以和IIS Web服务器还有ASP.NET开发服务器同时运行在同一台机器上(他们不会相互冲突)。
- 它支持Windows XP及更高版本的操作系统—在所有操作系统平台上提供了完整的IIS 7.x功能集。
IIS Express(跟ASP.NET开发服务器一样)可以快速地从硬盘上的某个文件夹上启动网站程序。它不需要任何注册或配置步骤。在网站开发过程中,这个特性使启动和运行网站显得相当便捷。
与VS 2010的整合
我们正在努力使IIS Express在Visual Studio 2010中能够更加容易使用。你将可以配置VS 2010使用它取代ASP.NET开发服务器作为ASP.NET项目默认的Web服务器。跟现在的ASP.NET开发服务器一样,你不需要在IIS Express里注册站点或者虚拟目录。它支持和ASP.NET开发服务器相同的使用方法—只是添加了更多的功能而已。
当你按下F5来运行ASP.NET项目时,Visual Studio自动启动IIS Express并且使用它来运行和调试网站程序(不需要额外的配置)。跟ASP.NET开发服务器一样,IIS Express运行时,会在任务栏的通知区域显示一个小图标:
右键单击上面的图标并选择“退出”就可以快速关闭IIS Express。你也可以通过右键单击来列出正在运行的站点列表,还有站点的文件夹路径以及使用的.NET版本:
[译注:IIS Express尚在Beta阶段,暂时还没有中文版,因此将英文原图贴上]
请注意上图中两个很酷的地方:
1. 正在运行的站点“Test Site”,还有IIS Express本身,保存在硬盘的c:\users\[用户名]文件夹中。这就允许非管理员用户使用IIS Express和网站,而且还支持一些现在的IIS服务器没有办法实现的场景(例如可以在受限的企业网络环境或受限的学校公共电脑上运行IIS Express)。
2. 上面正在运行的站点“Test Site”同时支持HTTP和HTTPS的访问方式。IIS Express通过自动安装“自签名证书”来支持URL访问控制列表(URL ACL)和SSL认证,这样程序员(以非管理员用户登录电脑)可以在不需要提升用户权限,或执行额外设置的情况下就可以使用SSL。这个功能允许你在程序中为SSL设置需要保护的页面(比如登录页面),并且在开发过程中象在真实的web服务器里那样运行和测试这些页面。
IIS 7.x功能集
IIS Express就像你现在已经熟悉的ASP.NET开发服务其那样容易启动和使用。 但是因为IIS Express是基于与IIS 7x相同的代码,你可以用到完整Web服务器的功能集合。这也就意味着你可以像在真实的作业Web服务器上创建和运行你的程序。除了SSL,你还可以使用 IIS 7.x的URL重写模块、多媒体插件、动态内容压缩、高级日志功能、自定义安全策略和其他丰富多彩的模块。
除了支持ASP.NET以外,IIS Express还支持传统的ASP和其他被IIS支持的文件类型—这也使得它成为整合多种技术的站点的理想平台。
总结
我们认为IIS Express使得开发、运行和测试Web程序更加容易。它支持ASP.NET的所有版本和所有应用程序类型(包括ASP.NET Web窗体程序和ASP.NET MVC程序)。最好不过的是—你不需要改动任何代码来使用它。你将可以在所有已有的项目中选用它。
我们马上就会发布IIS Express的beta版。在Beta版中,你应该可以右建单击一个文件夹,并由IIS Express从这个文件夹启动网站程序。今年晚一些时候,我们还会发布一个VS 2010和Visual Web Developer 2010 Express的补丁程序,这个补丁程序将用IIS Express替换掉原来内置的ASP.NET开发服务器。后续版本的Visual Studio会内置IIS Express
IIS Express简介的更多相关文章
- IIS Express总结
IIS Express可以说是.NET web开发者必用的服务器,日日夜夜都和它打交道.一直以来,除了遇到什么点什么问题,很少会去关注过它. 今天看到以前转载的一篇博客,就再次温故下,主要包含IIS ...
- VisualStudio 2015 开启IIS Express可以调试X64项目
现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中调试.不要总是放在IIS中,在Attach这样好慢. 如果不设置直接调试X64的程序,我们有可能会受到以下类似的错误 ...
- VS2015调试时没有启动IIS Express Web服务器 或者停止调试时 IIS Express 跟着关闭
解决方法: 打开 解决方案资源管理器 -> 点选 Web 项目选择 -> 属性 -> Web "服务器" 去掉勾选"将服务器设置应道所有用户" ...
- VS2013无法启动 IIS Express Web解决办法
开发环境:windows8.1+VS2013 使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器.前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错. ...
- Windows8.1系统下让VS2012编译运行IIS Express 64位 调试器
有时候在window8以上系统中对C#系统进行调试 提示不能使用32位IIS Express,如果每次都采用IIS 在vs代码进行调试的时候很麻烦 下面我们就介绍一下怎么用编译调试64位代码: 网上方 ...
- vs2012使用64位IIS EXPRESS调试
使用Visual Studio 2012开发网站或web应用程序时,可以使用两种web server.自带的development server和IIS EXPRESS.development ser ...
- IIS/IIS Express/Asp.net配置片段记录
事情的起因是,我们在项目中使用了URLRewriter.dll作为实现伪静态的工具,在VS2010及之前的开发环境中,该功能运行正常,但在VS Express 2012 for Web中就不起作用了, ...
- VS2017 RC IIS Express 无法启动 环境不正确
Unable to start program 'C:\Program Files (x86)\IIS Express\iisexpress.exe'. The environment is inco ...
- IIS Express 配置外部访问
IIS Express是Visual Stuido自带的微型Web服务器,简单易用. IIS Express默认只允许本机访问,通过Visual Studio调试Web程序时,我们有时需要通过外部访问 ...
随机推荐
- windows上安装apache python mod_python
综述: windows上安装apache python mod_python的例子.教程甚至图解都不少:但作为新手还是会出错,而且一时无法快速排解. 在此笔者将根据自己的实践经验,给出几个需要注意 ...
- Present
Present time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...
- [转]Unity: make your lists functional with ReorderableList
原文地址:http://va.lent.in/unity-make-your-lists-functional-with-reorderablelist/ This article is reprod ...
- awk用法小结(作者总结)
http://www.chinaunix.net/old_jh/24/691456.html http://wenku.baidu.com/view/ebac4fc658f5f61fb736664d. ...
- Linux下统计出现次数最多的指定字段值
假设桌面上有一个叫“data.txt”的文本,内容如下: {id='xxx' info='xxx' kk='xxx' target='111111' dd='xxx'}{id='xxx' info=' ...
- D3D 模板缓存的创建过程
下面是我对模板缓存创建的理解: 1. 模板缓存是和深度缓存一起被创建的,将深度缓存的一部分作为模板缓存使用. 深度缓存和模板缓存是在Direct3D初始化时创建的,D3DPRESENT_PARAMET ...
- #ifdef _DEBUG
#ifdef _DEBUG virtual void AssertValid() const; //assert(断言)valid(有效的,正确的) virtual void Dump(CDumpCo ...
- php 修改、增加xml结点属性的实现代码
php修改xml结点属性,增加xml结点属性的代码,有需要的朋友可以参考下 php 修改 增加xml结点属性的代码,供大家学习参考.php修改xml结点属性,增加xml结点属性的代码,有需要的朋友,参 ...
- iq 格式分析
po iq {type:1 name:iq xml:"<iq xmlns="jabber:client" to="testhjy@ecouser.net/ ...
- 【mark】linux 终端命令行下的快捷键(自己已验证所有)
说明: \c + a:表示ctrl+a \a + a:表示alt+a 命令列表: 1 移动: \c + a:将光标移到行首 \c + e:将光标移到行尾 \c + f:将光标向后(右)移动一个字符 \ ...