如何:在 IIS 中承载 WCF 服务
本主题概述了创建 Internet 信息服务 (IIS) 中承载的 Windows Communication Foundation (WCF) 服务所需的基本步骤。在 IIS 环境中运行的 WCF 服务可充分利用 IIS 功能,如进程回收、空闲时关闭、进程运行状况监视和基于消息的激活。此宿主选项要求正确配置 IIS,但不需要编写任何承载代码作为应用程序的一部分。只可以将 IIS 宿主与 HTTP 传输协议一起使用。
有关此示例的源副本,请参见IIS Hosting Using Inline Code。
创建由 IIS 承载的服务
确认 IIS 已经安装并在计算机上运行。
为应用程序文件创建新文件夹,确保 ASP.NET 具有访问该文件夹中内容的权限,并使用 IIS 管理工具来创建实际位于此应用程序目录中的新 IIS 应用程序。
在应用程序中创建一个名为“service file”(扩展名为 .svc)的新文件。编辑此文件,在其中为服务添加适当的 @ServiceHost 指令信息。例如,CalculatorService 示例的服务文件内容包含以下信息。
<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService"%>
在应用程序目录中创建 App_Code 子目录。
在 App_Code 子目录中创建代码文件。
在代码文件中为该类型的服务定义服务协定。
在代码文件内的服务类中实现该服务协定。
在应用程序目录中创建一个名为“Web.config”的文件。若要运行服务,Web.config 文件必须位于与服务文件相同的目录中。
在文件中添加相应的配置代码。在运行时,WCF 基础结构使用这些信息来构造客户端应用程序可与其通信的终结点。对于 CalculatorService 示例,下面的示例显示了配置代码。
示例
下面的代码演示了代码文件的内容,其中包括 Service.svc 文件中的指令指定的命名空间内的协定及其实现。