Phi*_*ler 7 asp.net-mvc elmah exception-handling http-status-code-404
我一直在寻找使用ELMaH与ASP.Net MVC的一些方法,以便我可以使用自定义错误页面来处理包括404s在内的所有异常.
有没有短缺的问题 ,询问如何获得/Shared/Error.aspx在ASP.Net MVC正常工作-不论有无ELMAH.我没有遇到过这个任务的问题,但我觉得我在ELMaH旁边使用自定义404页面的解决方案太简单了,我不能动摇它应该有更多的感觉.
在Web.Config中启用customErrors后,我在HomeController中创建了一个新的Action:
public ActionResult PageNotFound()
{
return null;
}
Run Code Online (Sandbox Code Playgroud)
从那里我在我的Global.asax文件中添加了一个新方法,以利用ELMaH的日志过滤功能,并在记录异常后,将响应重定向回上述PageNotFoundActionResult:
public void errorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
if (e.Exception.GetType().Equals(typeof(HttpException)))
{
HttpException ex = (HttpException)e.Exception;
if (ex.GetHttpCode() == 404)
Response.Redirect("/Home/PageNotFound");
}
}
Run Code Online (Sandbox Code Playgroud)
我是否忽略了默认情况下MVC附带的东西(因为我仍然找到了很多关于MVC的方法),或者过度思考存在更简单解决方案的问题?感谢任何输入.
我确信 ASP.NET 可以为您处理此类事情,您不一定需要调用任何内容来重定向到 global.asax 中的 404 操作。请参阅下面的示例。
<configuration>
<system.web>
<customErrors mode="On">
<error statusCode="404" redirect="/servererrors/404.aspx" />
</customErrors>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
http://www.xefteri.com/articles/show.cfm?id=11
| 归档时间: |
|
| 查看次数: |
660 次 |
| 最近记录: |