Analytics

2012年4月24日 星期二

[ASP.NET]解決 Session由InProc改為StateServer發生異常(InProc to StateServer Session resolved by the abnormal)


問題
無法序列化工作階段狀態。在 'StateServer' 和 'SQLServer' 模式中,ASP.NET 將序列化工作階段狀態物件,因此不允許無法序列化的物件或 MarshalByRef 物件。在 'Custom' 模式中,自訂工作階段狀態存放區執行類似的序列化作業時,也會有同樣的限制。




解決方法
在自訂的Class上加上[Serializable]的屬性標籤

另外提醒,若是Session使用強行別DataSet的Table也是可以的,但是要注意另一點的是DataSet可用是因為有自動產生[Serializable]的屬性標籤,但Table裡的Row卻沒有,因此如果你只放Row進Session一樣會造成此問題

沒有留言:

熱門文章