运行 Windows Communication Foundation 示例

Windows Communication Foundation (WCF) 示例可以在单台计算机或跨计算机配置中运行。 如前所述,这些示例已准备好在单个计算机上运行。 在跨计算机配置中,必须修改示例的配置文件设置。 以下过程说明如何在同一台计算机和跨计算机配置中运行示例。 请注意,Internet Information Services (IIS) 中托管的服务的步骤和自托管示例的步骤有所不同。 大多数示例托管在 IIS 中;请参阅示例自述文件信息以确定其托管方式。

在 Windows Vista 上,未在 IIS 中承载的示例需要提升的权限以使用 Http.sys 注册侦听器。 使用 Httpcfg.exe 将服务的侦听地址注册到服务正在运行的帐户中,或者从以管理员权限运行的命令提示符启动服务。

注释

在生成或运行任何 WCF 示例之前,请确保已为 Windows Communication Foundation 示例执行One-Time 安装过程

在同一计算机上运行示例

  1. 如果服务由 IIS 托管,请确保可以通过输入以下地址来访问服务: http://localhost/servicemodelsamples/service.svc 应在响应中显示确认页。 如果未显示确认页,请参阅 WCF 示例的故障排除提示

  2. 如果服务是自承载的,请在特定于语言的文件夹下从 \service\bin 运行 Service.exe。 服务活动显示在服务控制台窗口中。

  3. 从 \client\bin\(在语言特定文件夹内)中运行 Client.exe。 客户端活动显示在客户端控制台窗口中。

  4. 如果客户端和服务无法通信,请参阅 WCF 示例 故障排除提示。

跨计算机运行示例

  1. 如果服务托管在 IIS 中:

    1. 在服务计算机上,创建名为 ServiceModelSamples 的虚拟目录。 Windows Communication Foundation 示例One-Time 安装过程随附的批处理 Setupvroot.bat 文件可用于创建磁盘目录和虚拟目录。

    2. 将服务程序文件从 %SystemDrive%\Inetpub\wwwroot\servicemodelsamples 复制到服务计算机上的 ServiceModelSamples 虚拟目录。 确保将文件包含在 \bin 目录中。

    3. 测试是否可以使用浏览器从客户端计算机访问服务。

    如果服务是自托管的:

    1. 在服务计算机上,创建一个目录来保存服务文件。

    2. 将 \service\bin\ 文件夹中的服务程序文件(在语言特定的文件夹下)复制到服务计算机。

    3. 在服务配置文件中,更改终结点定义的地址值以匹配服务的新地址。 请将地址中所有对“localhost”的引用替换为完整域名。

    4. 从命令提示符启动 Service.exe。

  2. 将 \client\bin\ 文件夹中的客户端程序文件(在特定于语言的文件夹下)复制到客户端计算机。

  3. 设置终结点地址。

    1. 如果服务未在域帐户下运行,请打开客户端配置文件,并更改终结点定义的地址值以匹配服务的新地址。 请将地址中所有对“localhost”的引用替换为完整域名。

    2. 如果服务在域帐户下运行,则通过针对服务运行 Svcutil.exe 重新生成客户端配置。 有关运行 Svcutil.exe的详细信息,请参阅 生成 Windows Communication Foundation 示例。 使用生成的文件,而不是示例中的配置文件。 生成的配置文件具有其他标识信息,并且包含连接到服务终结点所需的所有设置,即使它们是默认设置。 有关标识信息的详细信息,请参阅 服务标识和身份验证以及 <标识>

  4. 在客户端计算机上,从命令提示符启动 Client.exe。

调试服务

  1. 使用 “生成 ”菜单或 Ctrl+Shift+B 生成解决方案(客户端和服务)。

  2. 如果服务托管在 IIS 中:

    1. 输入地址 http://localhost/servicemodelsamples/service.svc,使用浏览器激活服务。

    2. 在解决方案中,选择 “调试” 菜单和“ 附加到进程 ”菜单项。

    3. 选中“ 显示所有用户的进程 ”复选框。

    4. 选择要调试的主机工作进程 W3wp.exe(选择 Windows XP 上的 ASPNet_wp.exe)。

  3. 现在可以在服务代码中设置断点,并在异常时启用断点。

  4. 右键单击客户端项目项,然后选择 “调试”, 启动新实例

运行示例后进行清理

  • 如果服务托管在 IIS 中以实现安全目的,请删除完成示例后在安装步骤中授予的虚拟目录定义和权限。

另请参阅