条件に基づいて依存関係を解決しようとしています。条件依存を解決するautofac
private static readonly Dictionary<string, Action<ContainerBuilder>> QRTypeDictionary =
new Dictionary<string, System.Action<ContainerBuilder>>() {
{ "REST" , (builder)=> builder
.RegisterType<RestPublisher>()
.As<Publisher>()},
{ "DB" , (builder)=> builder
.RegisterType<DBPublisher>()
.As<Publisher>()}
}
これは、条件に基づいて依存関係を解決する唯一の方法であるかどうかを確認することです。私はこれまでNinjectを使用していると、次のようなものを探しています:
kernel.Bind<Publisher>()
.To<DbPublisher>()
.When(x => Defs.AppSettings.PublisherType == "DB")
ちょうど私はあなたが望むものを達成するための3つのソリューションを見ることができることを確認して、私はAutofac
'変更するには再起動するか、それが(例えば、要求の間)随時変更することができるアプリケーションを必要とするDefs.AppSettings.PublisherType'設定値はありますか? – Steven