CSharp2012.05.11 16:59




Asp.Net MVC 환경에서 .Net 용 DI 툴인 Ninject를 사용하는데 책에서 제시하는 소스가 오류를 내는 군요.

protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType) 
{
  return controllerType == null
           ? null
           : (IController)ninjectKernel.Get(controllerType);
}

이렇게 하면 Routing 설정이 정확하지 않으면  Controller Not Found 오류가 발생하는 군요.

그래서 한참을 구글링하여 찾은 내용은 다음과 같이 처리 하면 자연스럽게 404 File Not Found 로 떨어지는 군요.

protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType) 
{
  if (controllerType == null)
  {
    return base.GetControllerInstance(requestContext, controllerType);
  }
  else
  {
    return (IController)ninjectKernel.Get(controllerType);
  }
}
신고




Posted by 금붕어70