12

私は Log4Net を使用しており、ASP.NET アプリケーションがエラーをスローするたびにログを記録しています。

    protected void Application_Error(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        Log.Error("An error occurred", ex);
    }

残念ながら、アプリケーションのページにアクセスするたびにSystem.Web.HttpException、「ファイルが存在しません」というメッセージが表示されます。

スタック トレースは次のとおりです。

bei System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo, String physicalPath, HttpResponse response)
bei System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context, String overrideVirtualPath)
bei System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state)
bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

これをデバッグする方法がわかりません。これは、ASP.NET 開発サーバーと、デプロイした IIS 7.5 で発生します。

4

3 に答える 3

22

favicon.icoGoogle Chrome が常に要求し、含めるのを忘れていたのはきっと. ただし、リクエスト URL を追跡できることを確認するには、次のようにします。

protected void Application_Error(object sender, EventArgs e)
{
    Exception ex = Server.GetLastError();
    Log.Error("An error occurred", ex);
    Log.Error("Requested url: ", Request.RawUrl);
}

ログファイルに次のように表示されます。

Requested url: /favicon.ico

robots.txtまたは、たとえば Web クローラーがサイトをクロールしようとしたときのようなものです。

于 2012-03-01T14:21:38.553 に答える