尽管指定了我自己的视图,ASP.NET MVC3仍然会查找Error.aspx / .c
我将ASP.NET MVC 3应用程序配置为使用两个操作重定向到Errors控制器 –
<customErrors mode="On" defaultRedirect="/Errors/ApplicationError"> <error statusCode="404" redirect="/Errors/NotFound" /> </customErrors> 我有几个从每个动作方法呈现的视图: > /Views/Shared/NotFound.cshtml 在我的ErrorsController ApplicationError操作中,我执行以下操作: public ActionResult ApplicationError() { Response.StatusCode = 500; return View(); } 这有效,我的ApplicationError.cshtml视图被渲染,无论发生什么异常都记录下来,一切都很好. 但是在ELMAH中我看到记录了这个额外的错误:
当我已经处理错误并且我自己的视图被成功定位并呈现时,为什么ASP.NET MVC仍然在寻找这些视图? 附加信息: >我不在任何地方使用[HandleError]属性 解决方法
我认为,虽然您已使用派生类(ElmahHandleErrorAttribute)替换了HandleErrorAttribute,但您的自定义属性的OnException可能仍在调用base.OnException – 即HandleErrorAttribute.OnException.
HandleErrorAttribute.OnException完全忽略web.config设置(除非让customErrors关闭,让ASP.NET显示标准YSOD),并将操作结果设置为状态代码为500的ViewResult,并将View设置为“Error”(默认情况下,尚未在属性上设置View属性). 即,我猜这样的事情发生了: >你抛出一个例外 …但实际上并不是你抛出的异常,而是ViewEngine抛出的异常. 如果希望遵循web.config设置,您可能希望实现自己的异常处理,而不是基于HandleError.看看MVC源代码中的HandleErrorAttribute(here),看看需要做什么(以及在你的情况下不应该做什么). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 已经处理了DbContext和autofac
- 在asp.net中按日期对directoryinfo中的文件进行排序
- asp.net-mvc – 如何组合两个dataTextFields的SelectList描
- asp.net-mvc – 对HTTP POST请求的正确响应是什么?
- asp.net版本的timthumb php类
- asp.net-mvc – ASP.NET MVC中的所有内置ActionResults
- ASP.NET Ajax回发突然停止在IPhone / IPad上
- ASP.NET MVC不适用于ViewState和Postback?
- asp.net-mvc – 如何根据MVC中的其他参数值在运行时更改Dis
- asp.net-mvc – JsonIgnore在System.Web.Mvc.Controller中不
- asp.net – 应用程序池循环如何影响ASP Net会话状
- 如何在ASP.NET MVC3中包含来自局部视图的JavaScr
- asp.net – 可以通过移动设备的Web浏览器上传图片
- 如何检查它是否与ASP.NET中的用户相同?
- asp.net-mvc-3 – 如何修改MVC3视图页面中的body
- asp.net-mvc – 如何在运行时之前编译cshtml
- 【开源小软件 】Bing每日壁纸 V1.2.1
- asp.net-mvc-3 – 在ASP.NET MVC3中的自定义授权
- asp.net-mvc – 发生异常后不要刷新会话 – NHib
- asp.net-mvc – 为什么System.ComponentModel.Da