IIS Express 概述
作者:Vaidy Gopalakrishnan
IIS Express 是一个专为开发人员优化的轻型独立版本的 IIS。 借助 IIS Express,可以轻松地使用最新版本的 IIS 开发和测试网站。 它具有 IIS 7 及更高版本的所有核心功能,以及旨在简化网站开发的其他功能,包括:
- 它不作为服务运行,也不需要管理员用户权限来执行大多数任务。
- IIS Express 适用于 ASP.NET 和 PHP 应用程序。
- 多个 IIS Express 用户可以在同一台计算机上独立工作。
安装 IIS Express
产品的最新版本是 IIS 10.0 Express。 大多数用户都希望将 IIS Express 与提供集成体验的 Web 创作工具配合使用。
Visual Studio 2010 SP1 及更高版本允许将 IIS Express 用作 Web 服务器,而不是 Cassini。 还可以为其他 Web 创作工具手动配置 IIS Express。
可以直接从 Microsoft 下载中心安装 IIS 10.0 Express MSI。 请确保计算机上安装了 .NET Framework 4.0 或更高版本,因为这是必要的先决条件。
IIS Express 和 IIS
虽然 IIS Express 源自于 IIS 7 及更高版本且支持 IIS 的核心功能,但它们之间存在一些差异。 一个重要区别在于工作进程的管理方式。 在 IIS 中,Windows 进程激活服务 (WAS) 以静默方式激活和停用 Web 应用程序,并且用户无法直接控制。 在 IIS Express 中,没有 WAS,用户能够完全控制应用程序激活和停用。 可以使用 Visual Studio 或命令行启动站点;可以使用系统托盘应用程序启动和终止已在运行的网站。
可托管 Web 核心 (HWC) 是一个 IIS API,可用于写入不由 WAS 管理的独立 Web 服务器。 IIS Express 设计为基于 HWC 的包装器。
下图概述了 IIS 和 IIS Express 之间的一些主要差异:
区域 | IIS | IIS Express |
---|---|---|
提供机制 | 随 OS 一起提供。 | 带外提供。 它自动包含在 Visual Studio 中,但也可以单独安装。 |
支持的 Windows 版本 | 有限数量的 Windows 10 和 Windows 11 版本,大多数版本的 Windows Server 2012、2012 R2、2016、2019 和 2022 | 所有版本的 Windows 10 和 Windows 11 版本,大多数版本的 Windows Server 2012、2012 R2、2016、2019 和 2022 |
支持的 .NET Framework 版本 | v2.0 SP1 及更高版本 | v2.0 SP1 及更高版本(需要.NET 4.0)。 |
支持的编程语言 | 经典 ASP、ASP.NET 和 PHP | 经典 ASP、ASP.NET 和 PHP |
进程模型 | Windows 进程激活服务 (WAS) 会自动管理配置的站点。 | 用户启动和终止站点。 |
托管的 WebCore(又称可托管 Web 核心)支持 | 是 | 是的。 IIS Express 实现为基于 HWC 的层。 |
支持的协议 | HTTP、FTP、WebDAV、HTTPS 和 WCF(包括 TCP、命名管道和 MSMQ) | HTTP、HTTPS 和 WCF over HTTP |
非管理支持 | WAS 必须使用管理员用户权限运行。 | 允许标准用户完成大多数任务。 |
多开发人员支持 | 无 | 是的。 配置文件、设置和 Web 内容是按用户维护的。 |
Visual Studio 支持 | 是 | VS 2010 SP1 及更高版本允许使用 IIS Express 而不是 Cassini。 |
运行时扩展 | 有关完整列表,请参阅 https://www.iis.net/download/All。 | URL 重写和 FastCGI。 这些扩展内置于 IIS Express 中。 |
管理工具 | IIS 管理器,appcmd.exe | Appcmd.exe。 常见的 IIS Express 管理任务也内置于 Visual Studio 2010 SP1 及更高版本中。 |
系统托盘支持 | 无 | 是 |
包括用于身份验证、授权、压缩等的内置 IIS 模块。 | 是 | 是 |