此常见问题解答介绍了 IIS Express 支持的功能和其他常见问题。
IIS/IIS Express 是什么?
IIS Express 是一个已为开发人员优化的轻型独立版本的 IIS。 IIS Express 提供 IIS 7 及更高版本的强大功能,同时让用户可以轻松开发和测试网站。
IIS Express 的最新版本是哪个版本?
最新版本为 IIS 7.5 Express。 顾名思义,此版本派生自 IIS 7.5 服务器代码库。
是否可以将 IIS Express 与 Visual Studio 配合使用?
是的,Visual Studio 2010 SP1 Beta 版允许使用 IIS Express 生成和测试 Web 应用程序,IIS Express 取代了内置的 ASP.NET 开发 Web 服务器(也称为 Cassini)。 VS 10 SP1 中不包含 IIS Express,需要单独安装。 还可以使用命令行手动启动 IIS Express,并使用自定义 Web 服务器选项将其与 Visual Studio 2008 配合使用。
支持哪些 OS 和 SKU?
以下操作系统支持 IIS 7.5 Express:
- Windows XP SP3+
- Windows Vista SP1+
- Windows 7
- Windows Server 2008
- Windows Server 2008 R2
- Windows Server 2003 SP2+
除 Windows Server 2008 上的 Server Core 外,所有 OS SKU 均支持。
支持哪些 .NET Framework 版本?
支持版本 2.0、30、3.5 和 4.0。
是否支持 64 位计算机?
IIS 7.5 Express 支持使用 WoW64 子系统的 64 位体系结构。 将来的版本将考虑完整的 64 位支持。
IIS Express 是否支持 SSL?
支持,IIS Express 支持 SSL。 安装程序将在计算机存储中安装默认的自签名服务器证书,并配置端口 44300-44399 以用于 SSL。 还可以以管理员身份为网站设置和配置自定义 SSL 证书。
IIS Express 是否可以重新分发或嵌入到其他应用程序中?
IIS 7.5 Express 许可证允许重新分发 MSI。 你可以在产品中包含 MSI,也可以将安装程序链接到 MSI。 目前无法以任何其他方式分发 IIS Express。
IIS Express 是否支持 IIS“经典”管道模式?
IIS Express 支持 IIS 中的“集成”和“经典”托管管道模式。
IIS Express 是否需要管理权限?
默认的 IIS Express 配置允许用户在没有管理权限的情况下运行网站。 安装程序还会安装自签名服务器证书,使标准用户能够通过 SSL 运行站点。
某些任务确实需要提升的用户权限。 其中包括:
- 在端口 80 或其他保留端口上运行网站
- 安装自定义 SSL 证书
- 运行面向网络的网站
在 Windows Server 2003 SP2+ 上使用 IIS Express 时,还必须具有管理员用户权限。
IIS Express 是否支持命令行?
支持,可以使用命令行启动 IIS Express,并支持各种运行时选项。 有关如何使用命令行的信息,请参阅使用命令行运行 WebMatrix 网站或应用程序。
IIS Express 是否支持 xcopy 部署方式?
核心 IIS Express 运行时可部署 xcopy。 但到目前为止,未正式支持 xcopy 部署这一功能。
IIS Express 是否支持外部流量?
默认情况下,仅对 localhost 发出的请求提供服务;但是,可以修改绑定以启用外部流量。 出于安全原因,应在计算机上拥有管理员用户权限来设置此权限。
UNC/网络路径能否正常工作?
是的。 与 IIS 类似,需要配置正确的 UNC 凭据才能从这些共享访问内容。
IIS Express 是否支持非 HTTP 协议?例如 net.tcp 或 MSMQ
否。 IIS Express 仅支持 HTTP 和 HTTPS 作为其协议。
支持 FTP 吗?
IIS Express 不包括 FTP 服务。 但请注意,WebMatrix 和 Visual Studio 都支持使用 FTP 将 Web 应用程序发布到生产环境。
是否支持所有 IIS 模块?
IIS Express 目前原生支持 URL Rewrite 和 FastCGI。 我们将根据需求,继续在将来的版本中添加对其他模块的支持。
IIS Express 是否支持不同的主机头?
是的,IIS Express 支持绑定到不同的主机头。 与 IIS 类似,你必须在计算机上拥有管理员用户权限才能完成此操作。 还必须在 OS 上执行一些额外配置,例如在 hosts 文件和网络配置中添加适当的主机映射。
IIS Express 是否使用与 IIS 相同的配置系统?
是的,IIS Express 使用的 applicationhost.config 和 web.config 文件与 IIS 支持的相同。 主要区别在于,对于 IIS Express,配置是按用户维护的。 具体而言,IIS 具有全局 applicationhost.config 文件,但 IIS Express 在 %userprofile%\documents\IISexpress\config 文件夹中维护用户特定的 applicationhost.config 文件。 这样,标准用户就可以运行 IIS Express,并允许多个用户单独在同一台计算机上工作,不会相互冲突。 某些设置需要管理员用户权限才能设置和修改(请参阅上述有关以标准用户身份运行的问题)。
如何为 Web 应用程序启用 PUT/DELETE 等谓词?
在 verb 属性中添加 PUT 和 DELETE,使 verb 属性如下所示:可以在 %userprofile%\documents\IISExpress\config 文件夹中修改 IIS Express 的 applicationHost.config。 例如,要为无扩展 URL 启用 PUT 和 DELETE,请向下滚动到 IIS Express applicationHost.config 文件底部,查找以 <add name="ExtensionlessUrl-Integrated-4.0" 开头的处理程序条目。 在 verb 属性中添加 PUT 和 DELETE,使 verb属性如下所示:verb="GET,HEAD,POST,DEBUG,PUT,DELETE"
IIS Express 是否支持在同一进程中运行的多个应用程序?
是的。 与 IIS 类似,IIS Express 支持在同一进程中运行的同一站点下多个应用程序。
是否支持 WCF 应用程序?
支持,IIS Express 支持 WCF 应用程序。 如上所述,WCF 仅支持通过 HTTP 或 HTTPS。 不支持通过 MSMQ 和 net.tcp 的 WCF。
SharePoint Foundation 2010 是否可以在 IIS Express 上运行?
SharePoint 无法在 IIS Express 上运行,因为 SharePoint 使用了一些 IIS 不支持的功能。 如果 IIS Express 和 SharePoint Foundation 2010 同时安装在同一台计算机上,前者不会阻止后者运行。
IIS Express 是否可以与其他 Web 服务器并行运行?
可以,只要没有冲突的绑定,IIS Express 就可以与其他 Web 服务器并行运行。 你可以运行 IIS Express 和 IIS 的操作系统版本(Windows XP 上的 IIS 5.1、Windows Server 2003 上的 IIS 6.0、Windows Server 2008 或 Windows Vista 上的 IIS 7.0、Windows Server 2008 R2 或 Windows 7 上的 IIS 7.5)。 IIS Express 附带一个默认网站,此网站在端口 8080 上运行,以避免与默认使用端口 80 的 IIS 冲突。 如果 IIS Express 和其他 Web 服务器都尝试侦听端口 80,则会发生绑定冲突。