1
public Dictionary<string, IMYObject> MYObjectContainer
{
get
{
if (Session["MYObjectPool"] == null)
Session["MYObjectPool"] = new Dictionary<string,IMYObject>();
return (Dictionary<string, IMYObject>)Session["MYObjectPool"];
}
set
{
Session["MYObjectPool"] = value;
}
}
public ActionResult Close()
{
try
{
MyObject obj = this.MYObjectContainer["Key"]
this.MYObjectContainer = null;
return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}
catch (Exception Ex)
{
throw X
}
}
當對象沒有有效的裁判 這裏有兩個裁判的垃圾回收器會刪除,垃圾收集器將如何處理會話在ASP.NET MVC
1.obj(局部變量)
2.Session
首先,我通過設置this.MYObjectContainer = null;
二當函數結束的物鏡將被彈出棧從而第二裁判無效取得的會話裁判無效
這是否使得MYObjectContainer
符合清理垃圾收集器的條件?
請忽略我的問題是否完全錯誤,請指教我?
垃圾收集器如何在ASP.NET會話中工作?
垃圾收集器將破壞會話的會話超時的間接後果。我的建議是不要擔心這方面的垃圾收集。 – krisdyson 2014-09-24 06:59:54
On註銷如果我使用Session.Abandon(),這也會使垃圾收集器立即銷燬會話。 – Krishjs 2014-09-24 07:34:16
'當對象沒有有效引用時,垃圾收集器將會刪除 - 這是錯誤的。你有沒有[閱讀.NET上的垃圾收集文檔](http://msdn.microsoft.com/en-us/library/0xy59wtx%28v=vs.110%29.aspx)? – Aaronaught 2014-12-26 21:09:48