2011-08-02 92 views
2

我有建立在asp.net MVC3上的應用程序。應用程序運行良好,但我看到一個問題在這裏,每個頁面加載Application_Error方法得到執行多次,同時沒有引發異常,因爲這樣的應用程序永遠不會中斷。 在調試時,我可以看到錯誤消息,但我無法弄清楚爲什麼會出現這個錯誤。我將不勝感激任何幫助。Application_Error被多次調用

[7/24/2011 10:30:04 PM] Error: System.Web.HttpException (0x80004005): File does not exist. at System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo, String physicalPath, HttpResponse response) at System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context, String overrideVirtualPath) at System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

+0

當我們遇到這個問題時,我的機器上缺少必需的DLL(這是來自Microsoft企業實踐的東西)。嘗試使用ProcMon來歸檔找不到哪個文件。 –

回答

5

使用的工具如小提琴手或螢火蟲(火狐)檢查從瀏覽器發出請求,哪一個是獲得404(找不到文件) - 這將是罪魁禍首。

說,最可能的原因是請求的網站圖標即"/favicon.ico" - 大多數瀏覽器發出這個請求得到了現場這通常是在地址欄中使用的最愛圖標,書籤等,以輕鬆識別現場。很有可能你沒有這個文件在你的網站/項目下,因此它會生成404(File Not Found)錯誤。 Web開發服務器(或某些配置中的IIS)使用託管管道來服務所有請求,因此每個請求都將通過global.ajax進行處理,包括每個請求的錯誤。每當您在網站上進行刷新(F5)時,您都會收到錯誤消息。

+0

對於favicon好點的+1。 – archil

+0

我猜你猜對了我的問題。我從來沒有使用過小提琴手,但我下載了它,它應該可以解決我的問題。一旦我解決它,將它標記爲答案。謝謝。 – pramodtech

+0

@Vinay fiddler顯示有一些js文件/圖像被引用,但不存在,並且因爲哪個application_error被調用。但有沒有什麼辦法可以阻止app_error在這些問題上的調用,因爲我的錯誤日誌得到了垃圾郵件這樣的錯誤?無論如何,這些錯誤不會顯示在應用程序上,用戶也不會受到影響。 – pramodtech