以下系列教程介绍了 Windows Communication Foundation (WCF) 编程体验。 通过这些教程,你将了解创建 WCF 应用程序所需的步骤。 完成后,你将拥有一个正在运行的 WCF 服务和一个调用服务的 WCF 客户端。
本教程假定你将 Visual Studio 用作开发环境。 如果你正在使用其他开发环境,请忽略与 Visual Studio 相关的说明。
有关可以下载和运行的示例 WCF 应用程序,请参阅 Windows Communication Foundation 示例。 有关示例的简介,请参阅 入门示例。
有关创建服务和客户端的详细信息,请参阅 基本 WCF 编程。
gRPC 作为 WCF 的替代方法
gRPC 是一种现代 RPC 框架,是 WCF 的常用替代方法。 gRPC 基于 HTTP/2 构建,它比 WCF 提供了许多优势,包括:
- 性能:gRPC 比 WCF 更高效,尤其是对于长时间运行的连接。
- 可伸缩性:gRPC 旨在扩展到大量客户端和服务器。
- 安全性:gRPC 支持各种安全机制,包括 TLS 和身份验证。
- 跨平台:gRPC 是平台中立的,可用于各种编程语言。
有关开发或迁移 WCF 应用到 gRPC 的详细信息,请参阅:
WCF 教程
前三个教程介绍如何定义 WCF 服务协定、如何实现它以及如何托管它。 创建的服务是通过控制台应用程序自托管的。 还可以在 Microsoft Internet Information Services(IIS)下托管服务。 有关详细信息,请参阅 如何:在 IIS 中托管 WCF 服务。 尽管在本教程中使用代码配置服务,但也可以在 配置文件中配置服务。
-
使用用户定义的接口创建 WCF 协定。 此协定定义服务公开的功能。
-
定义协定后,必须使用服务类实现它。
-
为服务配置终结点,并在控制台应用程序中托管服务。 要使服务处于活动状态,必须在运行时环境中对其进行配置和托管。 此运行时环境创建服务并控制其上下文和生存期。
接下来的两个教程介绍如何创建、配置和使用客户端来调用服务所提供的操作。 服务发布元数据,用于定义客户端应用程序与服务通信所需的信息。 Visual Studio 自动执行访问此元数据的过程,并使用它来构造服务的客户端应用程序。 如果决定不使用 Visual Studio,则可以改用 ServiceModel 元数据实用工具工具(Svcutil.exe)。
-
从 WCF 服务检索用于创建 WCF 客户端代理的元数据。 可以使用 Visual Studio 添加服务引用来检索元数据,也可以使用 ServiceModel 元数据实用工具工具。 指定客户端用于访问该服务的终结点。
-
使用 WCF 客户端代理调用服务操作。