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.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 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.
Method 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
Method 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
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0