Hataları kaydetmek için mvc projemde ELMAH kullanıyorum. Bazen hataların kaydedilmediğini fark ettim. Bu yüzden ifadeleri try..catch içine sardım ve ErrorSignal.FromCurrentContext().Raise(ex);
denir ama hiçbir şey bu özel hata için tekrar kaydedilmiş. Bu yüzden ELMAH kaynak koduna girmeyi denedim (Reflector VS addin kullanarak). Error.cs
yılında public Error(System.Exception e, HttpContext context)
yılında this._form = CopyCollection(request.Form);
:Hatalar kaydedilmedi 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)
Gerçek kaynak kodu: Ve ELMAH bu durum gördük. ve CopyCollection yöntemi:
private static NameValueCollection CopyCollection(NameValueCollection collection)
{
if ((collection != null) && (collection.Count != 0))
{
return new NameValueCollection(collection);
}
return null;
}
Yani .Net tehlikeli Form verilerine yeni NameValueCollection oluşturmaya izin vermez. Uygulamamda bir çok HTML editörüm var ve her durumda hataların kaydedilmesi için ELMAH'ı istiyorum.
Ne yapabilirim?
# 217 numaralı sorununun Eylül 2012'de düzeltildiğini fark ettim. Yeni bir Elmah sürümü yayınlamak için herhangi bir plan var mı? –
@AtifAziz PLUSONE! Lütfen nugete bas? Bu yamalar önce yandı ... Sorun şudur: çerçeve => 4, o zaman belki bir v4 nuget paketi olabilir? –