如你所知,在ASP.NET中,可以存儲會話數據在以下三種模式之一:ASP.NET會話狀態服務器 - 保存序列化的數據
- 是InProc
- 會話狀態
- SQL服務器
對於InProc模式,您可以存儲任何種類的數據對象,即使它不是可序列化的。但是,在會話狀態和SQL Server模式下,只能存儲序列化的數據。
在我的項目中,我有一個使用「InProc」模式存儲會話的現成門戶。由於某些可伸縮性和故障處理問題,我需要使用會話狀態。
此門戶內部存儲會將未反序列化的對象存儲在會話上下文中(即存儲的對象不實現ISerializable接口)的問題。我無法訪問他們的代碼。是否有任何解決方法,以便我可以將會話對象存儲在狀態服務器中而不更改其代碼。如果這有助於任何形式的話,我仍然可以訪問他們的web.config文件。
實際上,我們無法訪問代碼,因爲它是第三方.NET門戶。我們只能在web.config中進行更改。 關於你的評論,我們可以包含一個包裝作爲外部程序集/ DLL,並對web.config進行更改,以便將此包裝用於對象會話存儲? – mohammedn 2008-10-28 12:51:10
不是我所知道的;你將不得不改變頁面代碼。所以,如果你沒有訪問權限,你有點困惑。 – 2008-10-28 13:22:37