私はエラーを記録するために私のmvcプロジェクトでELMAHを使用しています。時にはエラーが記録されないことに気付きました。だから私はtry..catchで文をラップし、ErrorSignal.FromCurrentContext().Raise(ex);
と呼んだが、何もその特定のエラーのために再度記録されることはない。だから、私はELMAHのソースコードに踏み込もうとしました(Reflector VS addinを使って)。 Error.cs
にpublic Error(System.Exception e, HttpContext context)
にthis._form = CopyCollection(request.Form);
:エラーは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)
実際のソースコード:そして、私はELMAHでこの例外を見ました。そして、CopyCollection方法:
private static NameValueCollection CopyCollection(NameValueCollection collection)
{
if ((collection != null) && (collection.Count != 0))
{
return new NameValueCollection(collection);
}
return null;
}
だから、.NETは危険フォームデータから新しいNameValueCollectionの作成はできません。私のアプリケーションには多くのHTMLエディタがありますが、ELMAHはどんな状況でもエラーを記録したいと思っています。
どうすればよいですか?
私は、問題#217が2012年9月に修正されたことに気付きました。エルマの新しいバージョンをリリースする予定はありますか? –
@AtifAziz PLUSONE!ナゲットに押してください。これは以前にパッチが当たっていました...もし問題がフレームワーク> = 4を必要とするなら、多分v4のnugetパッケージが存在する可能性がありますか? –