【问题标题】:Simple Injector - Partial class injection简单注入器 - 部分类注入
【发布时间】:2016-01-18 14:48:27
【问题描述】:

如何配置部分类的注入?

container.RegisterPerWebRequest<IDataContextAsync, DataBaseContext>();
container.RegisterPerWebRequest<IStoredProcedureContext, DataBaseContext>();

我的代码:

public partial class DataBaseContext : DataContext
public partial class DataBaseContext : IStoredProcedureContext

错误:

-[Torn Lifestyle] IStoredProcedureContext 的注册映射到与 IDataContextAsync 的注册相同的实现和生活方式。它们都映射到 DataBaseContext(Web 请求)。这将导致每个注册解析为不同的实例:每个注册在单个 Web 请求期间都有自己的实例。有关错误的详细信息,请参阅错误属性 警告。请参阅https://simpleinjector.org/diagnostics 如何解决问题以及如何抑制个别警告。

【问题讨论】:

  • 这与部分类无关。部分类是编译时的把戏;部分类在运行时不存在。
  • 那么您是否阅读了链接的文档? simpleinjector.org/diagnostics

标签: c# c#-4.0 dependency-injection entity-framework-6 simple-injector


【解决方案1】:

here

var container = new Container();
container.Options.DefaultScopedLifestyle = new WebRequestLifestyle();

var registration = Lifestyle.Scoped.CreateRegistration<DataBaseContext>(container);
container.AddRegistration(typeof(IStoredProcedureContext), registration);

container.Verify();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多