如何:在可靠会话内交换消息

本主题概述了使用系统提供的绑定之一来启用可靠会话所需的步骤。这些绑定支持可靠会话,但默认情况下不支持。可使用代码以强制方式或在配置文件中以声明方式以启用可靠会话。此过程使用客户端和服务配置文件来启用可靠会话,并规定消息按照发送的相同顺序到达。

此过程的关键部分是终结点配置元素包含一个 bindingConfiguration 属性,该属性引用一个名为“Binding1”的绑定配置。<binding> 配置元素然后可以引用此名称,通过将 reliableSession 元素的 enabled 属性设置为 true 来启用可靠会话。通过将 ordered 属性设置为 true,可为可靠会话指定有序传送保证。

有关此示例的源副本,请参见 WS Reliable Session

使用 WSHttpBinding 配置服务以使用可靠会话

  1. 为该类型的服务定义服务协定。

  2. 在服务类中实现该服务协定。请注意,在服务的实现内部,未指定地址或绑定信息。而且,不必编写代码也可从配置文件中检索该信息。

  3. 创建 Web.config 文件以配置 CalculatorService 的终结点,该终结点将 WSHttpBinding 与启用的可靠会话和所需的消息有序传送一起使用。

  4. 创建包含以下代码行的 Service.svc 文件:

    <%@ServiceHost language=c# Service="CalculatorService" %> 
    
  5. 将 Service.svc 文件放到 Internet 信息服务 (IIS) 虚拟目录中。

使用 WSHttpBinding 配置客户端以使用可靠会话

  1. 从命令行使用 ServiceModel Metadata Utility Tool (Svcutil.exe) 以从服务元数据生成代码:

    Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address> 
    
  2. 生成的客户端包含 ICalculator 接口,该接口定义了客户端实现必须满足的服务协定。

  3. 生成的客户端应用程序还包含 ClientCalculator 的实现。请注意,在服务的实现内部,未指定地址和绑定信息。而且,不必编写代码也可从配置文件中检索该信息。

  4. Svcutil.exe 还为使用 WSHttpBinding 类的客户端生成配置。在使用 Visual Studio 时,应在 App.config 文件中命名此文件。

  5. 在应用程序中创建 ClientCalculator 的实例,然后调用服务操作。

  6. 编译并运行客户端。

示例

默认情况下,有多种系统提供的绑定支持可靠会话。这些绑定包括:

有关如何创建支持可靠会话的自定义绑定的示例,请参见如何:创建使用 HTTPS 的自定义可靠会话绑定

另请参见

其他资源

可靠会话