Application_Error() で次のエラー処理を使用します。
protected void Application_Error()
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
string action;
switch (httpException.GetHttpCode())
{
case 404:
// page not found
action = "HttpError404";
break;
case 500:
// server error
action = "HttpError500";
break;
default:
action = "General";
break;
}
// clear error on server
Server.ClearError();
Response.Redirect(String.Format("~/Error/{0}/?message={1}", action, exception.Message));
}
}
これを追加する前に、私のページは正常にレンダリングされました。これを追加したので、約 21 個のファイルが見つからないという例外が発生しています。私は最初、いくつかのルーティング値が間違っていると思っていました (ただし、ルートを試すまで実行されません)、それらをコメントアウトしました。同じことです。
最初のページの読み込みをステップ実行しましたが、ページ全体が一度にレンダリングされるため、これらがどこから来ているのかを追跡できず、スタックトレースは探しているものを提供しません:
System.Web.StaticFileHandler.GetFileInfo (文字列 virtualPathWithPathInfo、文字列 physicalPath、HttpResponse 応答)
で System.Web.StaticFileHandler.ProcessRequestInternal (HttpContext コンテキスト、文字列 overrideVirtualPath) で System.Web.DefaultHttpHandler.BeginProcessRequest (HttpContext コンテキスト、AsyncCallback コールバック、オブジェクト状態) ) System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() で System.Web.HttpApplication.ExecuteStep (IExecutionStep ステップ、ブール値 & completedSynchronously)
これは CSS とスクリプトが定義されている場所で発生しているのではないかと考えましたが、これらをコメントアウトしても問題は解決しませんでした。
どうすればこれを追跡できますか?