Я добавляю autofac в существующий проект, и для некоторых реализаций службы требуется, чтобы их метод Initialize вызывался и передавал информацию о конфигурации. В настоящее время я использую код:
builder.Register(context =>
{
var service =
new SqlTaxRateProvider(context.Resolve<IUserProvider>());
service.Initialize(config);
return service;
}
).As<ITaxService>()
.SingleInstance();
, который работает, но я все еще создаю объект сам, и это то, что я пытаюсь уйти от этого и позволить автофаку справиться с этим для меня Можно ли настроить операцию пост-создания, которая бы выполняла пользовательскую инициализацию?
Чтобы дать вам представление о том, что мне нужно, в идеале это будет код:
builder.RegisterType<SqlTaxRateProvider>()
.As<ITaxService>()
.OnCreated(service=> service.Initialize(config))
.SingleInstance();
Обновление:
Я использую Autofac-2.1.10.754-NET35