栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

ASP.NET MVC自定义错误处理Application_Error Global.asax?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ASP.NET MVC自定义错误处理Application_Error Global.asax?

无需为此创建新路由,您只需重定向到控制器/操作并通过querystring传递信息即可。例如:

protected void Application_Error(object sender, EventArgs e) {  Exception exception = Server.GetLastError();  Response.Clear();  HttpException httpException = exception as HttpException;  if (httpException != null) {    string action;    switch (httpException.GetHttpCode()) {      case 404:        // page not found        action = "HttpError404";        break;      case 500:        // server error        action = "HttpError500";        break;      default:        action = "General";        break;      }      // clear error on server      Server.ClearError();      Response.Redirect(String.Format("~/Error/{0}/?message={1}", action, exception.Message));    }

然后,您的控制器将收到您想要的任何东西:

// GET: /Error/HttpError404public ActionResult HttpError404(string message) {   return View("SomeView", message);}

您的方法需要权衡取舍。在这种错误处理中循环时要非常小心。另一件事是,由于要通过asp.net管道来处理404,因此将为所有这些匹配创建会话对象。对于频繁使用的系统,这可能是一个问题(性能)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408452.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号