わかりましたので、私はこの問題に困惑しています。この問題を解決するはずの多くのことを見てきましたが、要件を満たす解決策が得られません。
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]
すべてのコントローラーを装飾する属性があります。これは可能ですか?もしそうなら、私はどんな助けにも感謝します。
リダイレクトする最終ルートを設定してみましたが、何らかの理由でそれより前のルートと一致しています。httpModuleを使用しようとしましたが、ファイルのApplication_Error
イベントでクリアしました。Global.asax
その例外を止めるものは何もありません。
助けてくれてありがとう!