. Net MVC项目我正在捕捉Http FileNotFound异常(对于丢失的图像),然后将请求重定向到如下所示的默认图像
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上有任何配置吗?我找不到问题
您需要将IIS配置为通过ASP.Net运行所有请求。
在Web.config中添加<modules runAllManagedModulesForAllRequests="true" />
到<system.webServer>
。
另外,你应该为此添加一个路由,而不是处理Error
事件。