asp.net-mvc-3 – asp.net mvc 3抛出异常
发布时间:2020-12-16 03:21:40 所属栏目:asp.Net 来源:网络整理
导读:我在webconfig中打开了自定义错误并重定向到“/ Error / Trouble”.这是按设计工作的. Elmah正在记录错误.错误视图也在显示. 问题是我想检查我的Error控制器的Trouble操作中的抛出错误.当抛出错误时,在MVC将您重定向到自定义错误处理程序后,如何访问它? 如
我在webconfig中打开了自定义错误并重定向到“/ Error / Trouble”.这是按设计工作的. Elmah正在记录错误.错误视图也在显示.
问题是我想检查我的Error控制器的Trouble操作中的抛出错误.当抛出错误时,在MVC将您重定向到自定义错误处理程序后,如何访问它? 如果CurrentUser为null,我会抛出异常: if (CurrentUser == null) { var message = String.Format("{0} is not known. Please contact your administrator.",context.HttpContext.User.Identity.Name); throw new Exception(message,new Exception("Inner Exception")); } 我希望能够在我的自定义错误处理程序(“错误/故障”)中访问它.你如何访问例外? 这是我的麻烦行动: public ActionResult Trouble() { return View("Error"); } 这是我的观点: @model System.Web.Mvc.HandleErrorInfo <h2> Sorry,an error occurred while processing your request. </h2> @if (Model != null) { <p>@Model.Exception.Message</p> <p>@Model.Exception.GetType().Name<br /> thrown in @Model.ControllerName @Model.ActionName</p> <p>Error Details:</p> <p>@Model.Exception.Message</p> } System.Web.Mvc.HandleErrorInfo是我的Trouble视图的模型,它是空的.谢谢你的帮助. 解决方法
我找到了一个解决方法:
在Global.asax我这样做: protected void Application_Error() { var exception = Server.GetLastError(); HttpContext.Current.Application.Lock(); HttpContext.Current.Application["TheException"] = exception; HttpContext.Current.Application.UnLock(); } 在错误/麻烦中我这样做: var caughtException = (Exception)HttpContext.Application["TheException"]; var message = (caughtException!= null) ? caughtException.Message : "Ooops,something unexpected happened. Please contact your system administrator"; var ex = new Exception(message); var errorInfo = new HandleErrorInfo(ex,"Application","Trouble"); return View("Error",errorInfo); 这很有效.但这似乎是一种奇怪的方式.有没有人有更好的解决方案?谢谢你的帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用ASP.NET创建缩略图的“最佳”方法是什么?
- asp.net-mvc-3 – 将原始html转储到Telerik网格
- asp.net-membership – 具有自定义成员资格提供程序的MVC 4
- asp.net-mvc – 实时ASP.NET MVC Web应用程序
- asp.net-mvc-2 – asp.net-mvc2 – 不使用Model的强类型助手
- asp.net-mvc – ASP.Net MVC:Html.Display()用于Collectio
- 远程服务器返回错误:(401)未经授权.在ASP.NET中使用CSOM
- asp.net-mvc – 条件ASP.NET MVC剃刀部分
- asp.net-mvc – HttpResponseMessage内容不会显示PDF
- .net – 默认启用UnsafeHeaderParsing是否可以接受?
推荐文章
站长推荐
- asp.net – Microsoft.Web.Infrastructure.dll痛
- asp.net-mvc-4 – Azure – Bitbucket部署失败
- entity-framework-4 – 通过扩展方法的IDbSet和公
- asp.net – 带有transfer-enconding的POST:在II
- asp.net-mvc-3 – 带有重音IE8的ASP MVC3 FileRe
- asp.net – File.Exists从网络共享返回false
- vsdoc文件是否适用于vbscript?
- HTTP 错误 404.3 - Not Found 由于扩展配置问题而
- asp.net-mvc-3 – 区域无法在MVC中加载 – 无法找
- asp.net – 如何将javascript文件的服务限制为仅
热点阅读