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-3 – ASP.net MVC – 模型绑定不包括
- asp.net – MVC 3,(razor)加载部分与验证
- asp.net 汉字转换拼音及首字母实现代码
- asp.net-mvc-3 – 在MVC Razor View中使用If语句
- asp.net-mvc – MVC 5 OWIN登录声明和Antiforger
- ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies
- asp.net 禁用viewstate在web.config里
- asp.net-mvc – IIS显示服务器错误而不是自定义错
- asp.net-mvc – 如何在asp.net mvc中处理分页?
- asp.net – 通过Web服务访问连接字符串