如果使用StateServer或SQLServer,会遇到的问题。。。。
生活随笔
收集整理的這篇文章主要介紹了
如果使用StateServer或SQLServer,会遇到的问题。。。。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
但如果使用StateServer或SQLServer,則要求val的類型必須是一個可序列化類型,因為ASP.NET應用在于狀態服務器之間交換數據時,需要對對象進行序列化。如果val不可序列化(有私有域/屬性并且沒有指定自定義序列化特性),則會在運行時出現如下異常:
?
無法序列化會話狀態。在“StateServer”或“SQLServer”模式下,ASP.NET 將序列化會話狀態對象,因此不允許使用無法序列化的對象或 MarshalByRef 對象。如果自定義會話狀態存儲在“Custom”模式下執行了類似的序列化,則適用同樣的限制。
?
解決方法有這樣幾種:
1 盡量使用基本類型的對象來存放數據
2 自定義類型只使用公有域/屬性
3 為自定義類型實現序列化特性
在類的上邊加上
[Serializable]
轉載于:https://www.cnblogs.com/EKPK/archive/2009/07/01/1514654.html
總結
以上是生活随笔為你收集整理的如果使用StateServer或SQLServer,会遇到的问题。。。。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在as3中只有事件(或该事件的子级)的发
- 下一篇: 寂寞沙洲冷