我需要我的LINQ到SQL數據環境才能在我的業務/數據層爲所有我的資源庫對象訪問。然而,由於這是一個網絡應用程序,我希望根據請求創建並銷燬它。我想知道是否有一個可以懶惰地創建和附加datacontext到當前HttpContext的單例類可以工作。我的問題是:當請求結束時,datacontext會自動處理嗎?下面是我在想什麼的代碼。這是否會達到我的目的:有一個線程安全的數據上下文實例,它是懶惰可用的,並在請求結束時自動處理?將LINQ to sql datacontext附加到業務層中的httpcontext
public class SingletonDC
{
public static NorthwindDataContext Default
{
get
{
NorthwindDataContext defaultInstance = (NorthwindDataContext)System.Web.HttpContext.Current.Items["datacontext"];
if (defaultInstance == null)
{
defaultInstance = new NorthwindDataContext();
System.Web.HttpContext.Current.Items.Add("datacontext", defaultInstance);
}
return defaultInstance;
}
}
}