2012-03-01 25 views
11

我使用log4net的和記錄每次我的ASP.NET的應用程序拋出一個錯誤:System.Web.HttpException文件不存在 - 頁面加載就好了(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我將它部署。

回答

21

我敢打賭,它的favicon.ico,谷歌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時,例如網絡爬蟲嘗試抓取您的網站。

+0

是的,或的favicon.ico robots.txt的。 – 2012-03-01 14:22:44

+1

事實證明,這是谷歌瀏覽器總是要求的「favicon.ico」,而我忘記了它。 – 2012-03-01 15:31:39

+1

@DennisRöttger+1爲什麼我還遇到這個錯誤,這是我沒有找到'favicon.ico'我正在使用Firefox。不是鉻。謝謝。 – 2013-07-11 02:29:16

0

我也有同樣的錯誤:

在CSS中有一些文件引用。這在目錄中不存在。所以它給了這個錯誤。 我創建了圖像文件,所以錯誤消失了。

因此,請確保您已經給定文件引用是存在於你的目錄