静态文件请求不会引发application_error事件

时间:2011-04-15 03:04:32

标签: asp.net asp.net-mvc error-handling application-error

在我的Asp.Net MVC项目中,我正在使用Http FileNotFound Exceptions(对于丢失的图像),然后将请求重定向到如下所示的默认图像

  protected void Application_Error(object sender, EventArgs e)
    {
        if (Request.Path.StartsWith("/images/profile"))
        {

            Response.Redirect("/images/profile/default.jpg", true);
            return;
        }
    }

当我调试我的网站时,它正在开发环境中工作。但是,当我将其部署到运行IIS 7.5的生产服务器时,此代码无法正常工作,对图像文件的请求不会触发Application_Error事件。 IIS上有任何配置吗?我找不到问题。

1 个答案:

答案 0 :(得分:1)

您需要配置IIS以通过ASP.Net运行所有请求。

在Web.config中将<modules runAllManagedModulesForAllRequests="true" />添加到<system.webServer>


此外,您应该为此添加路线,而不是处理Error事件。