asp.net-mvc - 结构图处置 DataContext 对象

标签 asp.net-mvc structuremap dispose

我想确定在每个请求结束后结构图是否会处理我的 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/

相关文章:

mysql - 将泰米尔语文本存储到 MySQL 中

c# - 使用注释和自定义属性时的验证顺序

StructureMap:如何正确设置默认依赖关系

c# - 我可以让 StructureMap 管理具体类型的生命周期吗?

asp.net-mvc - 使用 MVC2 和 EF4 进行自定义验证

asp.net-mvc - 将文件复制到 Azure 应用服务

c# - 通过引用传递 IDisposable 对象会导致错误?

c# - 在哪里调用在构造函数中创建的 IDisposable 的 Dispose()?

c# - 无法让 Lamar (IOC) 解决 .NET Core 3.1 中的 API Controller 依赖关系

c# - 如何在 C# 中的 Dispose() 方法中处理托管资源?