IIS Express与Windows 7默认的IIS有什么区别?

78
我是新手,希望了解关于IIS的以下问题...
我听说过IIS Express。我运行的操作系统是Windows 7 Ultimate,并安装了随Windows 7捆绑的IIS。
作为开发人员,如果我在.Net Web项目中安装IIS Express,是否会有任何重大好处?

6
IIS Express的一个好处似乎在这里没有被提到,它支持Visual Studio的“编辑并继续”调试功能。 - Sam
1
还有更多关于 MSDN 的信息,请访问 http://msdn.microsoft.com/en-us/library/windowsazure/jj156004.aspx。 - HappyNomad
3个回答

67
以下是与 http://www.mywindowsclub.com/resources/3302-Key-differences-between-IIS-IIS-Developer.aspx 不同之处。
如果您已经安装了 IIS,则它是更好的产品。IIS Express 只会被那些没有访问 IIS 或希望使用比 Cassini 更轻的东西但更像 IIS 的人使用。
  • 与操作系统集成
    • IIS 7 与操作系统一起提供,并与 Windows 紧密集成。
    • IIS Developer Express 是一个单独可下载的工具。
  • 针对用户
    • IIS 7 既适用于开发人员,也适用于生产目的。
    • IIS Developer Express 只能用于开发目的,而不能用于生产。
  • 支持的 Windows 版本
    • IIS 7 只能在 Windows Vista 和更新版本的 Windows 上运行。在服务器操作系统中,只能在 Windows 2008 上运行 IIS 7。
    • IIS Developer Edition 可以在旧版 Windows 上运行,包括 Windows XP 及更新版本。
  • 进程模型和激活
    • 在 IIS 7 中,工作线程由 Windows 进程激活服务自动启动和管理。
    • 在 IIS Express 中,用户必须处理这个问题。
  • FTP 支持
    • IIS Developer Express 不支持 FTP,而 IIS 7 支持它。
  • WCF 支持
    • IIS Developer Express 只支持通过 HTTP 的 WCF。
    • IIS 7 支持 WCF,包括通过 TCP、命名管道和 MSMQ。
  • 多开发人员支持
    • IIS 7 是单用户应用程序。
  • IIS开发者版支持多开发者环境。配置文件、设置和Web内容是基于每个用户维护的。
  • Visual Studio集成
    • 所有版本和版本的Visual Studio都内置支持IIS 7。
    • 只有VS 2010及以后版本才内置支持IIS开发者版。
  • 运行时扩展
    • IIS开发者版支持URL重写和FastCGI。
    • Webmatrix提供对SEO、数据库管理和Web部署的支持。其他与IIS提供的扩展尚未经过IIS开发者版测试。
  • 管理工具
    • IIS 7使用IIS Manager进行管理。
    • IIS开发者版可以使用Webmatrix进行管理。此外,通过系统托盘也可以提供支持。
  • IIS使用的端口
    • IIS 7默认网站监听端口80。
    • 作为IIS 7的一部分的默认网站部分开发者版监听端口8080,以避免它们同时运行时的冲突。

  • 小修正...VS 2010 SP1和未来的VS版本都内置了IIS Express支持。 - vikomall
    1
    虽然这个答案已经很好地指出了问题,但是这里有一个关于IIS 7和IIS Express 7.5的微软页面 - Marcel
    除了IIS Express也可以有IIS Manager风格的管理控制台这个事实之外,这个答案提供了大部分开发人员所需的信息。 - Lex Li
    一些新的要点:IIS Express现在有8和10版本可用,例如允许在Windows 7桌面上测试类似于IIS 8或10的外观。但是,像IIS压缩和vary头字段这样的IIS热修补程序在IIS Express中缺失。 - Frédéric

    30

    来自Scott Gu在IIS Express上的post

    为什么不使用IIS

    今天使用IIS选项的缺点是,一些公司不允许在开发人员机器上安装完整的Web服务器。IIS还需要管理员帐户访问以设置和调试项目。不同版本的Windows也支持不同版本的IIS。例如,如果您正在运行Windows XP,则必须使用附带的IIS 5.1 Web服务器 - 它不支持所有新功能IIS 7.x。在VS中配置Web项目以使用IIS还需要一些额外的安装和配置步骤。

    为什么使用IIS Express

    它是轻量级的,易于安装(不到10MB下载和超快速安装)。它不需要管理员帐户来从Visual Studio运行/调试应用程序。它启用了完整的Web服务器功能集,包括SSL、URL重写、媒体支持和所有其他IIS 7.x模块。它支持并启用与IIS 7.x相同的可扩展性模型和web.config文件设置。它可以与完整的IIS Web服务器以及ASP.NET开发服务器并存(它们不会冲突)。它适用于Windows XP及更高版本操作系统,为您提供在所有操作系统平台上的完整IIS 7.x开发人员功能集。IIS Express(像ASP.NET开发服务器一样)可以快速启动以从磁盘上的目录运行站点。它不需要任何注册/配置步骤。这使得它非常容易启动和运行开发场景。

    感谢Ken的回答,但在我的情况下,我已经安装了Windows 7 Ultimate上的IIS,即我没有管理员锁定问题。除了默认安装在Win7 Ultimate中的IIS之外,IIS Express还有其他重要的优点吗? - Mark Pearl
    并不是这样。拥有本地管理员权限是一种特权。企业不喜欢授予本地管理员权限,因为这可能导致安装未经许可的工具、引入病毒和覆盖默认安全策略。IIS Express允许非本地管理员使用IIS的子集,并且无需任何升级的特权即可进行调试。无需以管理员身份运行。 - Dominic Zukiewicz
    @KenBurkhardt,你知道在本地IIS实例上启用编辑和继续是否可能吗?在Express版本中是可能的,它比本地版本更轻,因此可以想象完整版本能够执行Express版本可以执行的所有操作,以及额外的功能。 - Héctor Álvarez
    @HéctorÁlvarez 在Windows 10中可以启用“编辑并继续”功能。请参阅我在此处提出的问题的答案:https://dev59.com/jFcP5IYBdhLWcg3w0tM0 - Ondrej

    11
    在经过几个小时的研究后,我找到了一个使用Express而不是本地IIS的显著原因:“编辑和继续”功能在本地IIS上无法使用。

    2
    它可以在Windows 10下工作,只需为您的应用程序池设置环境变量即可。更多详细信息请参见https://dev59.com/jFcP5IYBdhLWcg3w0tM0#50509545。 - Ondrej
    这是第一个给了我所需基本要点的答案。谢谢。 - dgo

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接