2012-08-02 13 views
1

我正嘗試在我的WCF服務(webHttp)中使用會話,但會話之間的請求之間不一致(當我對服務進行第二次調用時,會話不是NULL,而是密鑰我插入不存在,會話ID不同)。WCF中的會話不一致

我檢查,默認InstanceContextMode是PerSession,這我理解應該是適合我的要求。

是否有任何其他的配置,我需要在WCF使用會話?

謝謝!

回答

3

您需要使用的綁定,支持可靠的會話,如這些:

  • 基於HTTP的傳輸標準綁定:

    WsHttpBinding的和暴露請求 - 應答或單向合同。

    可以在一個請求 - 應答或 簡單的單向服務合同使用可靠的會話時使用。

    WsDualHttpBinding並公開雙工,請求回覆或單向 合同。

    WsFederationHttpBinding和暴露請求 - 應答或單向 合同。

  • 基於TCP的傳輸標準綁定:

    NetTcpBinding的和暴露雙工,請求應答,或單向的合同。

看看這裏的更多信息:http://msdn.microsoft.com/en-us/library/ms733136.aspx

+0

會話和可靠的會話是不一樣的東西。會話很簡單,就是服務用來了解多個消息來了形式相同的代理機制。它沒有說任何有關跟蹤消息序列的東西。可靠的會話是WS-ReliableMessaging的的實現。事實證明,當然,你無法實現WS-ReliableMessaging的,除非你知道這些消息都來自同一個客戶端(其實WsHttpBinding的可雖然在默認情況下,使用WS-ReliableMessaging的實現它的WCF會議的概念,如果有的話,它使用WS-SecureConversation) – 2012-08-03 07:30:10