c# - System.Web.HttpException 文件不存在 - 页面加载正常 (ASP.NET)

标签 c# asp.net exception log4net application-error

我正在使用 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 上。

最佳答案

我敢打赌它是谷歌浏览器总是请求的 favicon.ico,但你忘记了包含它。但为了确保您可以跟踪请求 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 的东西,例如当网络爬虫试图抓取您的网站时。

关于c# - System.Web.HttpException 文件不存在 - 页面加载正常 (ASP.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9517801/

相关文章:

asp.net - ASP.NET Web 服务应用程序中 INI 文件的保存位置

c# - 并行事件处理器

c# - Lambda 实现接口(interface)

c# - 如何在用户控件的 CSS 中更改图像

java - 如何在 Java 7 中使用方法句柄类调用底层 void 方法?

java - 在antlr4中向Lexer/Parser文件添加自定义异常的正确方法

c++ - 包含 ada dll 的崩溃 C++ 应用程序不会生成核心转储

c# - 如何使用特定属性搜索对象列表

c# - 如何在三个类中处理事件

c# - 参数 'sectionGroupName' 无效