有關此主題的文檔很差。我在Windows服務中使用NetTcpBinding使用WCF服務。問題是會話在一段時間內處於非活動狀態時會被丟棄。我需要的是始終活着的會話。 WCF是可靠的會話嗎?或者我可以玩超時設置?WCF可靠會話的目的是什麼?
29
A
回答
39
不,可靠的會話會像其他任何會話一樣超時。主要問題是:你爲什麼要讓你的會議「無盡」?如果你真的需要這個,你需要在會話中加快超時。
可靠會話的要點是調用者會知道任何丟失的消息。與流行的觀點相反,可靠的會話不能保證傳遞消息 - 但是如果消息不能傳遞,至少調用者會知道它。
檢查出一些這些資源,爲更多的背景信息:
6
如果你不使用通道
,它將關閉他過了一會兒。 您可以更改綁定的默認超時時間(即10分鐘)。
NetTcpBinding binding = new NetTcpBinding();
binding.ReceiveTimeout = TimeSpan.MaxValue;
binding.ReliableSession.InactivityTimeout = TimeSpan.MaxValue;
閱讀更多MSDN
相關問題
- 1. WCF可靠會話超時
- 2. WCF例外:可靠的會話故障
- 3. WCF可靠會話(可靠消息傳遞)的問題
- 4. JMS會話的目的是什麼?
- 5. 無論配置的超時WCF可靠的會話故障
- 6. 瞭解WCF可靠的會話重試行爲
- 7. 如何在WCF中禁用netNamedPipeBinding中的可靠會話?
- 8. WCF綁定可靠會話,你是否真的想要Ordered集合爲false?
- 9. 什麼是可靠的方式來檢查新的RSS條目?
- 10. 「會話在消息傳輸完成前關閉」與WCF可靠會話
- 11. 流星:不可靠的會話變量?
- 12. JSP的可靠會話機制
- 13. 重新實現可靠的會話
- 14. 可靠會話wcf - 如何保證確認?
- 15. WCF可靠會話如何影響消息排序?
- 16. WCF的可靠會話保證消息不會被傳輸損壞嗎?
- 17. WCF服務庫的目的是什麼?
- 18. 什麼是會話和會話變量?
- 19. 可靠性和WCF
- 20. 什麼是可靠的,爲什麼要在軌道
- 21. WCF中傳輸和消息可靠性的實際區別是什麼?
- 22. 「可靠」記錄究竟是什麼?
- 23. 爲什麼不是ODBCConnection.State可靠?
- 24. 爲什麼FindWindow()不是100%可靠?
- 25. 什麼是Postgres「會話」?
- 26. 什麼是會話失效?
- 27. 什麼是Hibernate髒會話?
- 28. 什麼是無Cookie會話?
- 29. Orbeon HTTP會話的用途或目的是什麼
- 30. codigniter會話數據庫的主要目的是什麼
感謝澄清什麼是可靠的會話。 關於「無盡的」會話:我有一個事件驅動的系統。當消息到達時,客戶端應該調用一些WCF服務。消息可以每秒發生,重要的是要跟上每一個。有時候收到郵件的時間間隔可能會比一秒鐘大得多,比如說一兩天。所以我需要一些保持活性的機制。 – 2010-05-26 09:16:13
@bsnote:爲什麼?如果兩條消息之間的時間間隔爲兩天,那麼在我看來,這個會話始終處於活動狀態並沒有意義。 – 2010-05-26 11:24:02
每次收到消息時創建一個通道的成本太高,以防消息每秒收到一次。雖然我同意當時間間隔爲一天的時候沒有任何意義。 – 2010-05-26 15:49:01