Application_Error被多次调用

时间:2011-08-02 08:32:47

标签: asp.net asp.net-mvc-3 exception

我有基于asp.net MVC3构建的应用程序。应用程序运行正常但我在这里看到一个问题,即在每个页面上加载Application_Error方法多次执行并且同时没有抛出异常,因此这样的应用程序永远不会中断。 在调试时,我可以看到错误消息,但我无法弄清楚为什么会出现此错误。我将不胜感激任何帮助。

  

[7/24/2011 10:30:04 PM]错误:System.Web.HttpException(0x80004005):文件不存在。在System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context,String overrideVirtualPath)的System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo,String physicalPath,HttpResponse response)处于System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext上下文,AsyncCallback回调,对象状态) )在System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)的System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中

1 个答案:

答案 0 :(得分:5)

使用fiddler或firebug等工具(在Firefox上)检查浏览器发出的请求以及哪一个获得404(文件未找到) - 这将是罪魁祸首。

表示最可能的原因是对网站图标的请求,即 "/favicon.ico" - 大多数浏览器发出此请求以获取网站的fav-icon,该图标通常用于地址栏,书签等,以便轻松识别网站。您很可能在您的站点/项目下没有此文件,因此它会生成404(找不到文件)错误。 Web开发服务器(或某些配置中的IIS)使用托管管道来为所有请求提供服务,因此每个请求都将通过global.ajax进行,包括每个请求的错误。无论何时在您的网站上刷新(F5),您都会收到错误。