在 Internet Information Services 中承载

托管 Windows Communication Foundation (WCF) 服务的一个选项位于 Internet Information Services (IIS) 应用程序中。 此托管模型类似于 ASP.NET 和 ASP.NET Web 服务 (ASMX) Web 服务使用的模型。

IIS 的版本

WCF 可以托管在以下操作系统上的 IIS 版本上:

  • Windows XP SP2 上的 IIS 5.1。 此环境对于稍后部署在 Windows Server 2003 等服务器作系统上的 IIS 托管应用程序的设计和开发非常有用。

  • Windows Server 2003 上的 IIS 6.0。 IIS 6.0 提供了一个高级进程模型,可提供改进的可伸缩性、可靠性和应用程序隔离性。 此环境适用于专门使用 HTTP 通信的 WCF 服务的生产部署。

  • Windows Vista 和 Windows Server 2008 上的 IIS 7.0。 IIS 7.0 提供与 IIS 6.0 相同的高级进程模型,但使用 Windows 进程激活服务(WAS)允许通过 HTTP 以外的协议进行激活和网络通信。 此环境适用于通过 WCF 支持的任何网络协议(包括 HTTP、net.tcp、net.pipe 和 net.msmq)进行通信的 WCF 服务。 有关 WAS 的详细信息,请参阅 Windows 进程激活服务中的托管

  • Windows Server AppFabric 与 IIS 7.0 和 Windows 进程激活服务(WAS)配合使用,为 NET4 WCF 和 WF 服务提供丰富的应用程序托管环境。 这些优势包括进程生命周期管理、进程回收、共享托管、快速故障保护、进程孤立、按需激活和运行状况监视。 有关详细信息,请参阅 AppFabric 托管功能AppFabric 托管概念

IIS 托管的优点

在 IIS 中托管 WCF 服务具有以下优点:

  • 与任何其他类型的 IIS 应用程序一样部署和管理 IIS 中托管的 WCF 服务,包括 ASP.NET 应用程序和 ASMX。

  • IIS 提供进程激活、运行状况管理和回收功能,以提高托管应用程序的可靠性。

  • 与 ASP.NET 一样,ASP.NET 中托管的 WCF 服务可以利用 ASP.NET 共享托管模型,其中多个应用程序驻留在通用工作进程中,以提高服务器密度和可伸缩性。

  • IIS 中托管的 WCF 服务使用与 ASP.NET 2.0 相同的动态编译模型,这简化了托管服务的开发和部署。

决定在 IIS 中托管 WCF 服务时,请务必记住 IIS 5.1 和 IIS 6.0 仅限于 HTTP 通信。 有关选择托管环境的详细信息,请参阅 托管服务

部署 IIS 托管的 WCF 服务

开发和部署 IIS 托管的 WCF 服务包括以下任务:

  • 确保正确安装并注册 IIS、ASP.NET、WCF 和 WCF HTTP 激活组件。

  • 创建新的 IIS 应用程序,或重复使用现有的 ASP.NET 应用程序。

  • 为 WCF 服务创建 .svc 文件。

  • 将服务实现部署到 IIS 应用程序。

  • 配置 WCF 服务。

有关这些任务的讨论,请参阅部署承载于 Internet Information Services 中的 WCF 服务

WCF 服务和 ASP.NET

WCF 服务可以与 ASP.NET 并行托管,也可以在 ASP.NET 兼容模式下托管,在此模式下,服务可以充分利用 ASP.NET Web 应用程序平台提供的功能。 有关这些功能的讨论,请参阅 WCF 服务和 ASP.NET

另请参阅