2
我手動registrering我的項目的Web API控制器的一個子集:註冊子集,用簡單的注射器
container.Register(typeof(ILGTWebApiController), controllerType, Lifestyle.Transient);
工作正常。然而,當我運行:
GlobalConfiguration.Configuration.DependencyResolver =
new SimpleInjectorWebApiDependencyResolver(container);
這似乎影響項目中的所有的Web API控制器。我想通過簡單的噴油器保持其他部分不變。
如果我不跑上面的代碼,簡單的噴油器會抱怨沒有一個空的構造(他們顯然不會,因爲我使用DI)我的控制器。
謝謝史蒂芬,似乎工作正常:)後續問題,如果你有時間:當使用這種解決方案,是否有任何相應的選項'GlobalConfiguration.Configuration.DependencyResolver.GetService'? – Johan
我問的原因是因爲我在屬性類中使用了該片段。我想解決這個問題的一種方法是全局暴露'容器',以便可以從屬性中訪問它。像這樣暴露容器被認爲是不好的做法嗎?我想一個缺點是它不能100%驗證? – Johan
對不起,你想做什麼?你在一個屬性中做什麼,爲什麼? – Steven