關於:“無法序列化會話狀態。在“StateServer”或“SQLServer”模式下,ASP.NET 將序列化會話狀態物件,因此不允許使用無法序列化的物件或 MarshalByRef 物件。如果自定義會話狀態儲存在“Custom”模式下執行了類似的序列化
阿新 • • 發佈:2018-12-27
錯誤描述:
無法序列化會話狀態。在“StateServer”或“SQLServer”模式下,ASP.NET 將序列化會話狀態物件,因此不允許使用無法序列化的物件或 MarshalByRef 物件。如果自定義會話狀態儲存在“Custom”模式下執行了類似的序列化,則適用同樣的限制。
問題描述:
我使用了struct 結構體型Bill,並把多個struct 型Bill放到一個ArrayList型別的array變數中,試圖將array賦值給Session,在另一個頁面中讀取Session,系統報錯!!!
解決辦法:
在網上查詢問題後,得出的結論為我定義的變數不能被序列化,於是試著在Bill上新增 [Serializable]。例如:
[Serializable]
public struct Bill
{
public string Name;
public string Unit;
public string Count;
}
問題解決!!!