我正在使用Umbraco,其中有很多自定義web API控制器。我想在簡單的注入器中忽略它們,只需手動註冊我自己的web api控制器。在簡單注入器中手動註冊web api控制器
我是否應該將控制器的生活方式註冊爲臨時或範圍? Web api控制器實現了
IDisposable
,但是如果我理解正確,簡單的注入器會在使用container.RegisterMvcControllers()
時將它們記錄爲瞬態。如果它們在使用web API時也應該是短暫的?如果是這樣,我想我必須壓制一次性警告?註冊將如何?如果我只是做一個
container.Register<MyController>(Lifestyle.Transient)
,並且我的控制器注入另一個已註冊的接口,即public MyController(IMyRegisteredInterface foo)
,它將拋出異常。
Aaah,謝謝!我錯過了'SimpleInjectorWebApiDependencyResolver' :)。我想這是適用於MVC的'SimpleInjectorDependencyResolver',以及用於並行web api的'SimpleInjectorWebApiDependencyResolver'? – filur
@filur:你真的沒有選擇。這兩個框架都需要自己的鉤子來解決他們自己的一組Controller實例。 – Steven