0
我正在構建一個MVC應用程序,並且需要使用DependencyResolver將不同的cachecontext(將使用的緩存信息包裝到我的存儲庫中)發送到我的存儲庫。有10種不同類型的cachecontext可以傳入。目前,我爲10種不同類型的接口(ICacheContexts)使用了10種不同的註冊。這有效,但似乎不是處理這種情況的正確方法。有沒有辦法創建一個知道它傳遞給它的對象類型的工廠,這樣我就可以確定返回正確的CacheContext,因此只有一個註冊需要維護?Autofac:使用DependencyResolver將不同的參數解析爲對象
當前代碼:
builder.Register(c => new CacheContext(AppConfig.AppBucketName, AppConfig.AppBucketpassword))
.As<ICacheContextForApps>();
builder.Register(c => new CacheContext(AppConfig.AcctBucketName, AppConfig.AcctBucketpassword))
.As<ICacheContextForAccounts>();
etc..
現在,這是美的事情。我瞥了一眼WithParameter,但並不認爲這會有所幫助。所以我應該能夠使用RegisterAssemblyTypes和AsImplementedAssemblies來根據名稱空間自動將我的程序集調用到正確的CacheContext中?這絕對比我採取的道路更加優雅。謝謝! – AlexGad 2011-02-05 05:32:24