问题
I'm using Log4Net and logging everytime my ASP.NET-Application throws an error:
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
Log.Error("An error occurred", ex);
}
Alas, everytime I visit a page on my application, a System.Web.HttpException
is caught, "File does not exist".
Here's the Stack Trace:
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)
I don't have any clue how to debug this, this happens on my ASP.NET Development Server and on an IIS 7.5 I deploy it on.
回答1:
I bet it's the favicon.ico
that Google Chrome always requests and which you forgot to include. But to be sure you could trace the request 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);
}
Now in your log file you should see:
Requested url: /favicon.ico
or something else like robots.txt
when for example web crawlers attempted to crawl your site.
回答2:
I have same error:
There were some file references in CSS. That does not exist in directory. So it gave this error. I created Image Files, so error disappeared.
So make sure that file reference that you have given is exists in your directory
回答3:
Check your HTML output of your page in case of using url with tilda "~/"
You need to use @Url.Content() to fix it
http://clubmicrosoft.net/post/2014/02/28/File-does-not-exist.aspx
来源:https://stackoverflow.com/questions/9517801/system-web-httpexception-file-does-not-exist-page-loads-just-fine-asp-net