我有基于 asp.net MVC3 构建的应用程序。应用程序运行良好,但我在这里看到一个问题,即在每个页面加载时,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)
最佳答案
使用 fiddler 或 firebug(在 Firefox 上)等工具检查浏览器发出的请求,以及哪个浏览器收到 404(文件未找到) - 这将是罪魁祸首。
表示最可能的原因是对网站图标的请求,即 "/favicon.ico"
- 大多数浏览器发出此请求以获取 fav-icon用于通常在地址栏、书签等中使用的站点,以轻松识别该站点。您的站点/项目下很可能没有此文件,因此它会生成 404(文件未找到)错误。 Web 开发服务器(或某些配置中的 IIS)使用托管管道来处理所有请求,因此每个请求都将通过 global.ajax 进行,包括每个请求的错误。每当您在网站上刷新 (F5) 时,您都会收到错误消息。
关于asp.net - Application_Error 被多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6909248/