우리는 MVC 2와 함께 사랑하는 Ninject + Ninject.Web.Mvc를 사용 중이며 몇 가지 문제가 있습니다. 특히 404 오류를 처리합니다. 우리는 500 개의 오류를 기록하고 기록하는 로깅 서비스를 가지고 있습니다. 우리는 존재하지 않는 컨트롤러에 들어가려고 할 때를 제외하고는 모든 것을 완벽하게 따라 다니고 있습니다. 원하는 404를 얻는 대신에 500 오류가 발생합니다.Ninject Woes ... 404 오류 문제
Cannot be null
Parameter name: service
[ArgumentNullException: Cannot be null
Parameter name: service]
Ninject.ResolutionExtensions.GetResolutionIterator(IResolutionRoot root, Type service, Func`2 constraint, IEnumerable`1 parameters, Boolean isOptional) +188
Ninject.ResolutionExtensions.TryGet(IResolutionRoot root, Type service, IParameter[] parameters) +15
Ninject.Web.Mvc.NinjectControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) +36
System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) +68
System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) +118
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +46
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +63
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +13
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8679426
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
일부 검색을 수행하고 비슷한 문제가 발견되었지만 404 문제는 관련성이없는 것으로 보입니다. 여기에 도움이 될 것입니다.
감사합니다. 조쉬
MVC를 사용하고 있습니다. 2 확장. –
Ninject가 컨트롤러를 해결하지 못하고 DefaultControllerFactory로 넘겨줍니다. 그러면 DefaultControllerFactory가 나옵니다. 그러면 Ninjects에서 빠져 나옵니다. MS는 MVC2에서 404 오류를 처리하는 방법을 변경했을 수 있습니다. requesContext 또는 controllerType이 null입니까? –
controllerType이 null이고 requestContext가 null입니다. –