【发布时间】:2011-01-29 17:55:30
【问题描述】:
我需要我的 linq to sql 数据上下文在我的业务/数据层中可用,以供我的所有存储库对象访问。但是,由于这是一个网络应用程序,我想根据请求创建和销毁它。我想知道是否有一个可以懒惰地创建数据上下文并将其附加到当前 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;
}
}
}
【问题讨论】:
标签: asp.net linq-to-sql datacontext