簡體   English   中英

序列化json字符串中的會話對象

[英]serializing session object in json string

我建立了一個強類型的會話對象,如下所示:

class MySession
{
  public string UsedID {get;set;}
  public List<int> ListOfInt {get;set;}
  public List<string ListOfString {get;set;}
  .....
}

我當前正在使用InProc會話,因此當頁面加載時,我寫:

MySession TheSession = Session["UserSession"] as MySession;

然后在代碼后面,我可以使用TheSession.XYZ語法訪問每個屬性。

這確實很酷,但我認為將會話存儲在數據庫中可能會更好。

我正在考慮序列化json字符串中的MySession對象,並將該字符串存儲在數據庫中,以便在頁面加載時可以檢索和反序列化該數據庫。

這是一個好方法嗎?

感謝您的建議。

ASP.NET會話狀態服務器與InProc會話討論了使用狀態服務器或進程內會話存儲的優缺點。

至於使用JSON,它肯定比XML輕巧,並且幾乎一樣靈活-至少出於您的目的。 我認為沒有理由不這樣做。

首先,確保您需要Session中的所有數據。 我認為您寧願創建數據庫表並將數據存儲在表中。

如果確定需要Session,則可以使用標准的<sessionState mode="SQLServer"> 您可以在此處閱讀有關會話狀態模式的更多信息。

如果確定要自定義序列化,則使用二進制序列化而不是JSON是有意義的。 它將需要較少的內存來存儲,並且需要較少的資源來進行序列化/反序列化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM