我想确定在每个请求结束后结构图是否会处理我的 DataContext。
这是我的设置
ForRequestedType<MyDataContext>().TheDefault.Is.OfConcreteType<MyDataContext>();
SelectConstructor<MyDataContext>(() => new MyDataContext());
结构图会自动处理我的数据上下文还是我需要手动调用处理??
最佳答案
我就是做这个的:
For<IUnitOfWork>()
.HybridHttpOrThreadLocalScoped()
.Use<BpReminders.Data.NH.UnitOfWork>();
For<ISession>()
.HybridHttpOrThreadLocalScoped()
.Use(o => ((BpReminders.Data.NH.UnitOfWork)o.GetInstance<IUnitOfWork>()).CurrentSession);
和 ...
protected void Application_EndRequest(object sender, EventArgs e)
{
ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects();
}
HybridHttpOrThreadLocalScoped 使用 HttpContext 有空的时候。
那么,StructureMap 会照顾一切。
只要记住实现 IDisposable 在你的课上。
关于asp.net-mvc - 结构图处置 DataContext 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5015354/