如何:创建安全会话

basicHttpBinding Element绑定外,已启用消息安全时,Windows Communication Foundation (WCF) 中系统提供的绑定将自动使用安全会话。

默认情况下,安全会话不会在已回收的 Web 服务器中存在。建立安全会话时,客户端和服务将缓存与安全会话关联的密钥。交换消息时,只交换已缓存密钥的标识符。如果回收了 Web 服务器,则也会回收缓存,因此 Web 服务器将无法检索该标识符的已缓存密钥。如果发生这种情况,将会引发异常并返回至客户端。使用有状态安全上下文令牌 (SCT) 的安全会话可以在回收的 Web 服务器中存在。有关 在安全会话中使用有状态 SCT 的更多信息,请参见如何:为安全会话创建有状态安全上下文令牌

通过使用系统提供的一个绑定指定服务使用安全会话

通过使用自定义绑定来指定服务使用安全会话

  • 创建一个自定义绑定,该绑定指定由安全会话保护 SOAP 消息。

    有关 创建自定义绑定的更多信息,请参见如何:自定义系统提供的绑定

    下面的代码示例使用配置来指定使用安全会话的消息的自定义绑定。

    <bindings>
      <!-- configure a custom binding -->
      <customBinding>
        <binding name="customBinding_Calculator">
          <security authenticationMode="SecureConversation" />
          <secureConversationBootstrap authenticationMode="SspiNegotiated" />
          <textMessageEncoding messageVersion="Soap12WSAddressing10" writeEncoding="utf-8"/>
          <httpTransport/>
        </binding>
      </customBinding>
    </bindings>
    

    下面的代码示例创建一个自定义绑定,该绑定使用 MutualCertificate 身份验证模式启动安全会话。

另请参见

概念

Windows Communication Foundation 绑定概述