【发布时间】:2012-10-08 22:22:34
【问题描述】:
我在global asax 的EndRequest 方法中使用了下面的方法。即使来自图像请求或其他请求,我也会得到HTTP 404 error。关键是我只想检查第一个请求/主要请求。你能帮我吗。这是唯一有效的解决方案。
{
if (Context.Response.StatusCode == 404)
{
Response.Clear();
var rd = new RouteData();
rd.DataTokens["area"] = "AreaName";
rd.Values["controller"] = "Errors";
rd.Values["action"] = "NotFound";
IController c = new ErrorsController();
c.Execute(new RequestContext(new HttpContextWrapper(Context), rd));
}
}
【问题讨论】:
-
“主要”是什么意思?您是否只对为控制器操作处理 404 感兴趣?
-
假设您向microsoft.comand 发出请求,如果您锁定了萤火虫,您将看到服务器对图像和其他内容的其他请求
-
把你的错误放在这里。 (堆栈跟踪)
-
不是堆栈树的错误,这里的重点是您收到了 404 请求。这个请求可以来自 mysite.com/blabla stackoverflow.com/questions/717628/… 关于 Marco (35 up) 的回答
标签: c# http-status-code-404 httprequest global-asax