Domanda

l'attributo di salvataggio lavoro. Serve correttamente la vista DefaultError quando c'è un'eccezione non gestita.

Tuttavia, queste eccezioni non otterranno il login o via email. Questa domanda SO è risposto Atif Aziz e sembra abbastanza solido, ma si applica per il built-in HandleErrorAttribute, che sostituisce Rescue, giusto? Come faccio a ottenere che lavorare con Rescue? Voglio fare in modo che se un'eccezione non gestita si pone, che l'utente viene servita la vista specificata con l'attributo di salvataggio, ma l'eccezione è ancora correttamente registrato, e visualizzabili con elmah.axd.

Aggiornamento:

var currentContext = HttpContext.Current;
Elmah.ErrorSignal.FromContext(currentContext).Raise(ViewData.Model.Exception, currentContext);

Ho aggiunto il sopra per mio punto di vista e viene registrato correttamente ed e-mail gli errori ora. Tuttavia, non sembra come fare questo in vista è il destro cosa. Qualcuno ha un'idea migliore?

È stato utile?

Soluzione

È possibile chiamare l'Elmah registro esplicitamente da voi ViewPage:

using Elmah;

var context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(e, context));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top