asp.net-mvc C 未在ELMAH中记录的错误
我在我的mvc项目中使用ELMAH来记录错误.我意识到有时错误没有记录.所以我将语句包装在try..catch中并调用ErrorSignal.FromCurrentContext().Raise(ex);但是没有为该特定错误再次记录.所以我试着进入ELMAH源代码(使用Reflector VS addin).我在elmah看到了这个例外: A potentially dangerous Request.Form value was detected from the client (Text="<br>"). StackTrace: at System.Web.HttpRequest.ValidateString(String value,String collectionKey,RequestValidationSource requestCollection) 实际源代码:this._form = CopyCollection(request.Form);在Error.cs中的公共错误(System.Exception e,HttpContext上下文)中.和CopyCollection方法: private static NameValueCollection CopyCollection(NameValueCollection collection) { if ((collection != null) && (collection.Count != 0)) { return new NameValueCollection(collection); } return null; }因此.Net不允许从危险的表单数据创建新的NameValueCollection.我的应用程序中有很多Html编辑器,我希望ELMAH能够在任何情况下记录错误. 我能做什么? 解决方法 不幸的是,this is due to a breaking change introduced by ASP.NET 4.0.现在的解决方法是通过在配置中添加以下内容来要求ASP.NET恢复到旧行为: <httpRuntime requestValidationMode="2.0" />有关更完整的讨论,请参阅ELMAH project site上的issue #217. (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何合理地构建我的ASP.NET MVC 2项目与区域
- asp.net-mvc-3 – Orchard CMS DataAnnotations – 客户端验
- asp.net-mvc – 使用mvc的主要目的
- asp.net Gridview,1记录跨度两行
- .net – 什么可以解释托管堆上超过5,000,000个System.WeakR
- asp.net – 在Web.config帮助中定义tagPrefixes
- asp.net-mvc – 什么时候使用ViewData而不是ViewModels?
- 勾选复选框时,禁用一些ASP.Net验证控件
- .net – asp:GridView文本框始终返回空值
- asp.net – VirtualPathUtility.ToAbsolute()VS. Url.Conte
- asp.net中Session缓存与Cache缓存的区别分析
- asp.net – 如何使用AntiXss Library正确清理内容
- asp.net-mvc-3 – 在F#中的ViewBag动态对象上设置
- 使用Ajax ASP .NET MVC5的更新列表模型
- 来自ASP.NET MVC站点的“无效的JSON原语:alihac
- asp.net-mvc – 为什么MVC4捆绑捆绑Knockout.js?
- Asp.Net Core中WebSocket绑定的方法详解
- asp.net-mvc – 如何继承ASP.NET MVC控制器并仅更
- asp.net-ajax – Ajax脚本管理器和母版页
- asp.net-mvc – Windows 8 VS2012 IISExpress Wi