Sto usando ELMAH nel mio progetto mvc per registrare errori. Mi sono reso conto che a volte gli errori non venivano registrati. Così ho avvolto le dichiarazioni in try..catch e chiamato ErrorSignal.FromCurrentContext().Raise(ex);
ma nulla viene registrato di nuovo per quell'errore specifico. Così ho provato ad inserire il codice sorgente ELMAH (usando Reflector VS addin). E ho visto questa eccezione in ELMAH:Errori non registrati in 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)
codice sorgente: this._form = CopyCollection(request.Form);
in public Error(System.Exception e, HttpContext context)
in Error.cs
. e il metodo CopyCollection:
private static NameValueCollection CopyCollection(NameValueCollection collection)
{
if ((collection != null) && (collection.Count != 0))
{
return new NameValueCollection(collection);
}
return null;
}
Quindi Net non consente la creazione di nuovi NameValueCollection dal pericolose dati del modulo. Ho un sacco di editor Html nella mia applicazione e voglio che ELMAH registri gli errori in qualsiasi situazione.
Cosa posso fare?
Ho notato che il problema n. 217 è stato risolto nel settembre 2012. Ci sono piani per rilasciare una nuova versione di Elmah? –
@AtifAziz PLUSONE! Per favore, spingi su nuget? Questo problema è stato corretto anni fa ... Se il problema è che è necessario un framework> = 4, allora potrebbe esistere un pacchetto v4 nuget? –