我將autofac添加到現有項目中,並且某些服務實現需要調用它們的Initialize方法並傳遞配置信息。目前我使用的代碼:如何使用autofac執行自定義初始化
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
更好的選擇是擺脫初始化Initialize方法。改爲使用**構造函數注入**。 – 2010-02-24 05:34:29
我同意,在某個階段我會解決它,我只是尋找一個快速解決方案,使我的初始更改更容易。 – 2010-02-24 22:44:23