Ok, also bin ich auf dieses Problem ratlos. Ich habe eine Menge Dinge gesehen, die dieses Problem lösen sollen, aber ich bekomme keine Lösung, die meine Anforderungen erfüllen kann.Stop-Ausnahme von für nicht vorhandene Controller geworfen werden
Ich benutze ELMAH, um Ausnahmen zu protokollieren und erhalte diese Ausnahme, wenn entweder eine URL mit ungültigem Controller oder ordnungsgemäßer Controller und ungültige Aktion.
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)
Ich möchte diese Ausnahme nicht ausgelöst werden. Ich verwende benutzerdefinierte Fehler und sie funktionieren gut, da die Anwendung an meine benutzerdefinierte 404-Fehlerseite sendet. Die Ausnahme wird jedoch weiterhin protokolliert.
Ich habe das Attribut [HandleError]
schmücken alle Controller. Ist das möglich? Und wenn es so wäre, würde ich jede Hilfe schätzen.
Ich habe versucht, eine final route that redirects Einstellung, aber es ist eine Route vorher, aus welchem Grund auch immer. Ich habe versucht, eine httpModule zu verwenden, und im Application_Error
Ereignis der Global.asax
Datei zu löschen. Nichts stoppt diese Ausnahmen.
Nochmals vielen Dank für jede Hilfe!
Was ist daran schlimm, dass es geloggt wird? Reguläre 404 werden standardmäßig auch in Apache protokolliert. –
Es ist nicht das Protokollieren so viel, aber die Ausnahme, die ich versuche zu zerquetschen. Ich möchte einen 404-Fehler, wie es ein 404 sein sollte. Aber meine ideale Situation, um die .NET-customErrors werfen eine 404 und keine Ausnahme geworfen werden. –