entity-framework-4.1 – Unity和生命周期管理配置 – 始终是瞬态生命周期管理器

我在Unity中遇到配置错误.

我正在尝试实现
http://unitymvc3.codeplex.com/,但我现在被卡住了,因为这样:

在我的统一配置中,我有这样的设置:

<register type="IMainDbContext" mapTo="WorkflowContext">
    <lifetime type="hierarchical" />
    <constructor></constructor>
  </register>

但在创建统一时,(我的简单代码在这里:)

UnityConfigurationSection section = ConfigurationManager.GetSection("unity") as UnityConfigurationSection;
        if (section != null)
        {
            section.Configure(container);
        }

        this.container = container;

一切都配置得很好,除了注册“IManDbContext”,它有LifetimeManagerType = {Name =“TransientLifetimeManager”FullName =“Microsoft.Practices.Unity.TransientLifetimeManager”},但它应该是分层终身经理

您是否有任何想法如何告诉团结(在配置中,而不是在代码中)我想要分层终身经理?
谢谢你的任何提示.

最佳答案 我的错误是由此错误引起的:

我有多个DbContext,但它们配置错误:

<register type="IMainDbContext" mapTo="WorkflowContext">
    <lifetime type="hierarchical" />
    <constructor></constructor>
</register>

<register type="IReportDbContext" mapTo="SomeBadContext">
    <lifetime type="hierarchical" />
    <constructor></constructor>
</register>

当我使用这个配置时,这很糟糕,统一简单不要配置任何终身经理.在我将这些上下文设置为正确之后,unity使用了我的生命周期管理器配置.

点赞