首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对工作单元进行处置

针对工作单元进行处置
EN

Stack Overflow用户
提问于 2016-06-17 14:05:51
回答 1查看 498关注 0票数 0

我有一个代码,控制器调用服务和服务使用工作单元来处理DB。我使用Unity作为依赖注入。我需要在请求作用域结束后自动处理unity(dbContext)。我没有在UnityCofig.cs中引用PerRequestLifetimeManager。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-06-17 14:12:36

尝试创建生存期管理器的新派生类型

代码语言:javascript
复制
public class PerHttpRequestLifetime : LifetimeManager
{
    // This is very important part and the reason why I believe mentioned
    // PerCallContext implementation is wrong.
    private readonly Guid _key = Guid.NewGuid();

    public override object GetValue()
    {
        return HttpContext.Current.Items[_key];
    }

    public override void SetValue(object newValue)
    {
        HttpContext.Current.Items[_key] = newValue;
    }

    public override void RemoveValue()
    {
        var obj = GetValue();
        HttpContext.Current.Items.Remove(obj);
    }
}

来源:MVC, EF - DataContext singleton instance Per-Web-Request in Unity

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37874236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档