InstancePerLifetimeScope和InstancePerMatchingLifetimeScope

时间:2011-08-16 08:40:40

标签: c# autofac

在Autofac中,有人可以解释当我以下列方式注册组件时会发生什么:

builder.RegisterType<SomeComponent>()
       .InstancePerMatchingLifetimeScope(contextTag)
       .InstancePerLifetimeScope();

Q1。这是注册组件的有效方法吗?

Q2。 InstancePerLifetimeScope是否会覆盖另一个?如果我尝试解析'contextTag'范围内的组件,我会得到异常吗?

1 个答案:

答案 0 :(得分:0)

A1。这不是无效的。但是,看到并理解需求是令人困惑的。

A2。该组件将在两个范围内可用,并将在请求的范围内解决。

我会尽量避免这种情况。但如果你无法完全避免它,那么使用不同的autofac模块在不同的范围内注册组件会更清晰。