asp.net-mvc – 处理asp.net mvc中的错误和异常
发布时间:2020-05-23 03:59:44 所属栏目:asp.Net 来源:互联网
导读:在asp.net mvc结构中处理错误和捕获异常的可接受方法是什么? 普遍的共识是让例外起泡. 那么你可以处理什么层(View或Controller)来处理异常(抓住它们/显示用户友好的文本等).我的预感是,它在控制器中完成? 编辑: 我想避免在每个控制器动作中重复相同的错误
|
在asp.net mvc结构中处理错误和捕获异常的可接受方法是什么?
解决方法处理控制器中的异常可能会导致大量的重复代码.更好的方法是在扩展HandleErrorAttribute的动作过滤器中处理它们.在那里,您可以记录异常,然后重定向到一个页面,该页面显示一条很好的消息,指示用户发生错误.但是,在某些情况下,您需要处理控制器方法中的异常,例如,当您可以从异常中恢复并向用户显示适当的消息,例如由业务层抛出的异常,指示值您提供的无效.在这种情况下,您应该捕获特定的异常,并向用户显示相同的视图以及相应的消息. 编辑: public class CustomErrorHandlerAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
var logger = log4net.LogManager.GetLogger("SomeLoggerHere");
logger.Error("An unhandled error occurred",filterContext.Exception);
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
filterContext.HttpContext.Response.Clear();
filterContext.HttpContext.Response.Status = "500 Internal Server Error";
filterContext.Result = new JsonResult { Data = new { ErrorMessage = filterContext.Exception.Message } };
filterContext.ExceptionHandled = true;
}
else
{
base.OnException(filterContext);
}
}
} 编辑2: [CustomErrorHandler]
public class AnyController : Controller
{
...
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – asp:GridView文本框始终返回空值
- asp.net – .NET Web API 2 OWIN承载令牌认证
- asp.net – System.Linq.Dynamic不支持OrderByDescending(“
- asp.net – 估算Web应用程序峰值带宽需求的最准确方法是什么
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文
- asp.net – LINQ to SQL Web应用程序最佳实践
- asp.net-mvc-4 – 重定向到动作,参数在mvc中始终为空
- 如何在ASP.NET MVC中渲染HTML字符串?
- asp.net – 如何防止重复的回发混淆我的业务层
- asp.net-mvc – 编译时mvc视图检查与msbuild
推荐文章
站长推荐
- asp.net – SQL使用逗号分隔值和IN子句
- asp.net – 诊断“请求超时”HttpExceptions
- asp.net-mvc – 是否可以在Visual Studio 2013中
- asp.net – 如何实时压缩和流量到Response.Outpu
- 使用MVC和ASP.NET身份认证网址
- asp.net – $.post vs $.ajax
- asp.net-mvc – 使用jQuery $.ajax()和$.post()发
- 从asp.net代码后面读表单认证cookie
- asp.net-mvc-4 – 如何在Durandal中使用cshtml文
- asp.net – 如何拒绝用户访问子文件夹和文件?
热点阅读
