繁体   English   中英

简单喷射器-部分类喷射

[英]Simple Injector - Partial class injection

如何使用局部类配置注入?

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

我的代码:

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

错误:

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

这里

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

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

container.Verify();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM