如何:在可靠会话内交换消息
本主题概述了使用系统提供的绑定之一来启用可靠会话所需的步骤。这些绑定支持可靠会话,但默认情况下不支持。可使用代码以强制方式或在配置文件中以声明方式以启用可靠会话。此过程使用客户端和服务配置文件来启用可靠会话,并规定消息按照发送的相同顺序到达。
此过程的关键部分是终结点配置元素包含一个 bindingConfiguration 属性,该属性引用一个名为“Binding1”的绑定配置。<binding> 配置元素然后可以引用此名称,通过将 reliableSession 元素的 enabled 属性设置为 true 来启用可靠会话。通过将 ordered 属性设置为 true,可为可靠会话指定有序传送保证。
有关此示例的源副本,请参见 WS Reliable Session。
使用 WSHttpBinding 配置服务以使用可靠会话
为该类型的服务定义服务协定。
在服务类中实现该服务协定。请注意,在服务的实现内部,未指定地址或绑定信息。而且,不必编写代码也可从配置文件中检索该信息。
创建 Web.config 文件以配置 CalculatorService 的终结点,该终结点将 WSHttpBinding 与启用的可靠会话和所需的消息有序传送一起使用。
创建包含以下代码行的 Service.svc 文件:
<%@ServiceHost language=c# Service="CalculatorService" %>
将 Service.svc 文件放到 Internet 信息服务 (IIS) 虚拟目录中。
使用 WSHttpBinding 配置客户端以使用可靠会话
从命令行使用 ServiceModel Metadata Utility Tool (Svcutil.exe) 以从服务元数据生成代码:
Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address>
生成的客户端包含 ICalculator 接口,该接口定义了客户端实现必须满足的服务协定。
生成的客户端应用程序还包含 ClientCalculator 的实现。请注意,在服务的实现内部,未指定地址和绑定信息。而且,不必编写代码也可从配置文件中检索该信息。
Svcutil.exe 还为使用 WSHttpBinding 类的客户端生成配置。在使用 Visual Studio 时,应在 App.config 文件中命名此文件。
在应用程序中创建 ClientCalculator 的实例,然后调用服务操作。
编译并运行客户端。
示例
默认情况下,有多种系统提供的绑定支持可靠会话。这些绑定包括:
有关如何创建支持可靠会话的自定义绑定的示例,请参见如何:创建使用 HTTPS 的自定义可靠会话绑定。