Asp.net Global.asax异常处理和HTTP错误代码
我有一个相当标准的MVC2应用程序运行在4.0和IIS6之下。我采用通配符过滤器方法将所有请求路由到asp.net ISAPI过滤器。到目前为止还不错 现在,我在global.asax中的Application_Error中添加了一些代码,以捕获异常并通过电子邮件将堆栈发送给我,等等。这也可以正常工作 但是,我收到各种404相关流量。大多数情况下,“路径'/favicon.ico'的控制器未找到或未实现IController”,但我可以想象,我很快就会收到robot.txt请求等Asp.net Global.asax异常处理和HTTP错误代码,asp.net,asp.net-mvc,asp.net-mvc-2,Asp.net,Asp.net Mvc,Asp.net Mvc 2,我有一个相当标准的MVC2应用程序运行在4.0和IIS6之下。我采用通配符过滤器方法将所有请求路由到asp.net ISAPI过滤器。到目前为止还不错 现在,我在global.asax中的Application_Error中添加了一些代码,以捕获异常并通过电子邮件将堆栈发送给我,等等。这也可以正常工作 但是,我收到各种404相关流量。大多数情况下,“路径'/favicon.ico'的控制器未找到或未实现IController”,但我可以想象,我很快就会收到robot.txt请求等 是否有任何方法
是否有任何方法可以从HttpContext.Current.Server.GetLastError()获取HTTP错误代码?然后我可以忽略所有404结果。或者我应该看看有没有其他方法?关于favicon,您可以在Global.asax中添加忽略路由:
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
关于favicon,您可以在Global.asax中执行此操作以添加忽略路由:
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
问一个问题,找到答案 我需要测试一下,但看起来很有希望
var ex = HttpContext.Current.Server.GetLastError();
// filter out 404 responses
var httpException = ex as HttpException;
if (httpException != null && httpException.GetHttpCode() == 404)
return;
问一个问题,找到答案 我需要测试一下,但看起来很有希望
var ex = HttpContext.Current.Server.GetLastError();
// filter out 404 responses
var httpException = ex as HttpException;
if (httpException != null && httpException.GetHttpCode() == 404)
return;
很好的方法,但我希望有一个更通用的东西。我认为这只能通过404陷阱来实现。可能吧。我认为这里的主要问题是,通过将所有内容发送到ASPNET_ISAPI,您将忽略静态文件处理程序。你能从你的应用程序下载你的图片吗?很好的方法,但我希望有一些更通用的东西。我认为这只能通过404陷阱来实现。可能吧。我认为这里的主要问题是,通过将所有内容发送到ASPNET_ISAPI,您将忽略静态文件处理程序。你能从你的应用程序下载你的图像吗?