Ninject MVC 소스 코드를 살펴 보았으며 기본값을 덮어 쓸 컨트롤러 팩토리를 생성하는 메서드는 NinjectControllerFactory 만 반환하도록 하드 코드되어 있습니다. 가상의 경우 IControllerFactory를 사용하는 것이 내 눈을 더욱 이해하게됩니다.Ninject Mvc NinjectHttpApplication이 CreateControllerFactory()에 대해 IControllerFactory를 사용하지 않는 이유
/// <summary>
/// Creates the controller factory that is used to create the controllers.
/// </summary>
/// <returns>The created controller factory.</returns>
protected virtual NinjectControllerFactory CreateControllerFactory()
{
return new NinjectControllerFactory(this.Kernel);
}
나는 Ninject에 사랑하고 나는이 방법을 수행 한 이유가 있는지,하지만 난 내 자신의 ControllerFactory를 작성하고 그것을 사용하는 데 필요한 순간에 문제가있는 것이 아니라 여전히를 사용합니다 NinjectHttpApplication. NinjectControllerFactory에서 상속받을 수 있고이 새 인스턴스를 반환하는 메서드를 재정의 할 수 있지만 Ninject 형식의 모든 기능을 사용하지는 않으므로 냄새가 날 것 같아 보인다.
그래서 IController를 사용하지 않는 이유가 있습니까? 아니면 새로운 버전에서 변경 될 수 있습니다.
Ninject V 2.2.0.0에 대한 최신 빌드에서 얻은 소스 코드는 여전히 ControllerFactory를 사용합니다. 내가 바보가 아니라면 MVC2 버전을 얻었습니다. DependencyResolver를 사용하지 않는 것이 이상하다고 생각했습니다. git에서 출처를 확인하고 지금은 문제가되지 않는다는 것을 깨달았습니다. – Grofit