如果我將servis實例設置爲Per Session或Single,我可以在會話中的服務實例之間發送一些數據?它應該在Asp.net會話中完成 - HttpContext.Current.Session 或wcf有自己的會話嗎?在wcf中使用會話
回答
正如我所說 - WCF不是ASP.NET,它的會話處理有很大的不同。雖然ASP.NET會話和WCF會話被稱爲相同 - 它們的用途和用處大不相同。
閱讀MSDN頁面Using Sessions in WCF瞭解更多詳情。
一句話如下:沒有與WCF會話關聯的通用數據存儲。 - 所以答案是否定的 - WCF中的會話是用於數據存儲的而不是。
WCF會話僅僅是將幾個消息「捆綁」在一個對話中。默認情況下,通過「per-call」模型,每個WCF服務請求都會得到自己的,新實例化的服務類實例來處理請求,並且在返回答案後,該服務類實例將被釋放。使用會話避免了這一點 - 處理會話第一次調用的服務類實例將在服務器端保持活動狀態(並因此也佔用服務器上的內存),並將處理同一會話中的所有後續請求。一般
WCF和Web服務但是最好是無國籍,這樣的會議是有點在一個合適的SOA環境中一個古怪的建築 - 這是最有可能的,爲什麼在WCF會議也遠遠不及ASP有用。 NET會話用於Web應用程序。
爲了保持無狀態並支持每個調用方法(首選最佳實踐),如果您需要在調用之間存儲數據,請將其存儲在持久存儲區(例如數據庫)中,並在需要時從該存儲區取回上。
如果您在IIS中託管服務,則可以啓用ASP.Net兼容性模式。這將允許您使用ASP.Net會話狀態,就像在Web應用程序中一樣。
如何啓用ASP.Net兼容性模式? –
- 1. 如何在WCF中使用ASP.NET會話?
- 2. WCF服務中的會話使用
- 3. 在WCF中使用ASP.NET會話=每次調用都會丟失
- 4. 使用會話使用WCF WS2007FederationHttpBinding(WSFederationHttpBinding)
- 5. WCF會話 - ASP.Net會話
- 6. 使用WCF會話共享ASP.NET會話狀態
- 7. WCF綁定-wsHttpBinding使用會話?
- 8. 如何在WCF中使用SSL啓用會話wsHttpBinding
- 9. 調用在wcf中使用會話狀態的Web服務
- 10. 會話創建在WCF
- 11. WCF會話超時
- 12. WCF會話管理
- 13. WCF會話維護
- 14. 會話在每個WCF呼叫方案的會話中關閉
- 15. nHibernate會話 - 在Web,windows,wcf等中使用存儲庫模式
- 16. 會話如何在WCF中維護?
- 17. 在類中使用會話
- 18. 在c#中使用會話#
- 19. 在Django中使用會話
- 20. 在PHP中使用會話
- 21. 在asp.net中使用會話
- 22. 如何使WCF會話更安全?
- 23. 使用簡單Web服務(不是WCF)在Silverlight中使用會話
- 24. 如何在WCF中禁用netNamedPipeBinding中的可靠會話?
- 25. WCF可靠會話超時
- 26. WCF輪詢雙工會話
- 27. wcf和會話asmx重寫
- 28. 從aspx訪問WCF會話
- 29. WCF,REST,併發性,會話
- 30. WCF和ASP.NET會話共享
oK,據我所知,但我可以使用Wcf會話像asp一樣並將數據保存在其中嗎? – netmajor