System.Web.HttpException文件不存在 - 页面加载很好(ASP.NET)

时间:2012-03-01 14:20:17

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

每次我的ASP.NET-Application抛出错误时,我都在使用Log4Net并进行日志记录:

    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上,我将其部署在上面。

3 个答案:

答案 0 :(得分:21)

我敢打赌,这是Google Chrome始终要求的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的其他内容,例如网页抓取工具尝试抓取您的网站。

答案 1 :(得分:0)

我有同样的错误:

CSS中有一些文件引用。目录中不存在。所以它给出了这个错误。 我创建了图像文件,因此错误消失了。

因此,请确保您提供的文件引用存在于目录

答案 2 :(得分:0)

如果使用带有tilda“〜/”

的网址,请检查您网页的HTML输出

您需要使用@ Url.Content()来修复它

http://clubmicrosoft.net/post/2014/02/28/File-does-not-exist.aspx