我在C#.net和mysql中創建一個網站(購物車)。在.net和sql server中,我們可以在sql server中管理會話。這是可能的相同方式使用MySQL,如果是的話,那麼如何?另一個問題 - 在數據庫中存儲會話是購物車的正確方法還是應該存儲在內存中? 在此先感謝會話管理c#.net和mysql
1
A
回答
1
基本上有3 「內置」 session storage methods在.NET Framework:
是InProc模式,存儲在Web服務器上存儲會話狀態。 這是默認設置。
StateServer模式,它將會話狀態存儲在一個單獨的進程 中,稱爲ASP.NET狀態服務。這可確保在重新啓動Web應用程序時保留會話狀態 ,並使會話 狀態對Web場中的多個Web服務器可用。
SQLServer模式將會話狀態存儲在SQL Server數據庫中。此 可確保在重新啓動Web應用程序 時保留會話狀態,並使Web會話中的多個Web 服務器可以使用會話狀態。
正如你所看到的,唯一支持序列化到數據庫的是SQL Server。但是,還有第四種選擇 - 創建您自己的custom session storage provider。您可以通過創建繼承SessionStateStoreProviderBase
類的類來實現自定義會話狀態存儲提供程序。 MSDN上的This article描述如何。
但是,您可能只想使用StateServer模式,因爲這可以緩解使用InProc的許多風險(即在內存變低,應用程序池被回收或重新啓動應用程序時,會話狀態很容易丟失)。請記住用[Serializable()]
attribute來標記所有課程。如果您想在用戶離開網站後保留購物車信息,我只會使用數據庫。
相關問題
- 1. C#會話管理
- 2. UserNamePasswordValidator和會話管理
- 3. WCM和WCS會話管理
- 4. 會話管理和安全
- 5. 會話管理
- 6. 從管理會話中終止ASP .NET用戶會話
- 7. Perl會話管理
- 8. IBMWorklight會話管理
- 9. iphone會話管理
- 10. 會話管理Jaggery.js
- 11. JSF - 會話管理
- 12. Rails會話管理
- 13. JSF會話管理
- 14. Android會話管理
- 15. WCF會話管理
- 16. Django會話管理
- 17. 管理asp會話
- 18. RestKit會話管理
- 19. 會話管理angularjs
- 20. 使用C/CGI管理會話
- 21. 用於會話管理的C++庫?
- 22. Http會話管理/可選會話管理(Java)
- 23. JavaScript REST客戶端和會話管理
- 24. Coldfusion會話管理和鎖定變量
- 25. 會話管理和滑動到期
- 26. 負載均衡器和會話管理
- 27. WCF FluentNhibernate會話管理和緩存
- 28. NHibernate會話管理和延遲加載
- 29. Servlet和JSP中的會話管理
- 30. Spring.NET,NHibernate和WCF:會話管理
2個問題在這裏真的;) - 你可以將你的購物車存儲在任何你喜歡的地方,但是你必須考慮數據的瞬時特性以及你想要的持久性。內存中的購物車只會持續一段時間,超出狀態將持續直到服務器重新啓動,SQL將持續......好吧,永遠(ish) - 對我來說唯一真正的選擇是使用內存和D B!緩存購物車直到它發生變化,然後將它裝入數據庫中。 – SpaceBison 2012-04-18 07:54:46