我正在将 autofac 添加到现有项目中,并且某些服务实现需要调用它们的 Initialize 方法并传递配置信息。目前我正在使用代码:
builder.Register(context =>
{
var service =
new SqlTaxRateProvider(context.Resolve<IUserProvider>());
service.Initialize(config);
return service;
}
).As<ITaxService>()
.SingleInstance();
这可行,但我仍在自己创建对象,这是我试图摆脱这种情况并允许 autofac 为我处理它。是否可以配置执行自定义初始化的创建后操作?
为了让您了解我理想的情况,这将是代码:
builder.RegisterType<SqlTaxRateProvider>()
.As<ITaxService>()
.OnCreated(service=> service.Initialize(config))
.SingleInstance();
更新:我正在使用 Autofac-2.1.10.754-NET35