【问题标题】:Session in WCF not consistentWCF 中的会话不一致
【发布时间】:2012-08-02 13:19:46
【问题描述】:

我正在尝试在我的 WCF 服务 (webHttp) 中使用会话,但会话不是 请求之间保持一致(当我对服务进行第二次调用时,会话不是 NULL,但我插入的密钥不存在并且会话 ID 不同)。

我检查了,默认的 InstanceContextMode 是 PerSession,据我了解应该适合我的要求。

在 WCF 中使用会话是否需要任何其他配置?

谢谢!

【问题讨论】:

    标签: c# wcf session


    【解决方案1】:

    您需要使用支持可靠会话的绑定,例如:

    • 基于 HTTP 的传输标准绑定:

      WsHttpBinding 并公开请求-回复或单向合同。

      可以在通过请求-回复或使用可靠会话时使用 简单的单向服务合同。

      WsDualHttpBinding 并公开双工、请求-回复或单向 合同。

      WsFederationHttpBinding 并暴露请求-回复或单向 合同。

    • 基于 TCP 的传输标准绑定:

      NetTcpBinding 并公开双工、请求回复或单向合同。

    在这里查看更多信息:http://msdn.microsoft.com/en-us/library/ms733136.aspx

    【讨论】:

    • 会话和可靠会话不是一回事。会话只是服务用来理解来自同一个代理的多个消息的一种机制。它没有说明跟踪一系列消息。可靠会话是 WS-ReliableMessaging 的一种实现。事实证明,除非您知道消息来自同一个客户端,否则您无法实现 WS-ReliableMessaging(实际上 WSHttpBinding 可以使用 WS-ReliableMessaging 来实现其 WCF 会话的概念,尽管默认情况下,如果可用,它使用 WS-SecureConversation)
    猜你喜欢
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 2021-03-25
    • 2018-05-11
    • 2016-07-02
    相关资源
    最近更新 更多