그래,이 문제에 난처한 상황입니다. 나는이 문제를 해결해야 할 많은 일들을 보았지만 나의 요구 사항을 충족시킬 수있는 해결책을 얻지 못하고있다.존재하지 않는 컨트롤러에 대해 예외가 발생하지 않도록 하시겠습니까?
ELMAH를 사용하여 예외를 기록하고 있으며 잘못된 컨트롤러 또는 적절한 컨트롤러 및 잘못된 동작이있는 URL이있을 때이 예외가 발생합니다.
System.Web.HttpException: The controller for path '/BadController' was not found or does not implement IController.
at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
예외가 발생하지 않도록하고 싶습니다. 사용자 지정 오류를 사용하고 있으며 응용 프로그램이 내 사용자 지정 404 오류 페이지로 보낼 때 제대로 작동합니다. 그러나 예외는 여전히 기록됩니다.
모든 컨트롤러를 장식하는 [HandleError]
속성이 있습니다. 이것이 가능한가? 그렇다면 어떤 도움을 주시면 감사하겠습니다.
나는 final route that redirects을 설정하려고했지만 어떤 이유로 든 이전 경로와 일치합니다. httpModule을 사용하고 Global.asax
파일의 Application_Error
이벤트를 지우려고 시도했습니다. 그 예외를 막는 것은 아무것도 없습니다.
도움을 주셔서 다시 한 번 감사드립니다!
로깅되는 것이 좋지 않니? 일반 404는 기본적으로 Apache에 로그인되어 있습니다. –
로깅이 그렇게 많은 것은 아니지만 스쿼시를 시도하는 것은 예외입니다. 나는 404 에러가되기를 원하지만 404 에러가 발생한다. .NET customErrors가 404 에러를 발생시키고 아무런 예외도 발생시키지 않는 이상적인 상황이다. –