Come faccio a combinare “Rescue” di MvcContrib con Elmah?
-
21-09-2019 - |
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?
Soluzione
È possibile chiamare l'Elmah registro esplicitamente da voi ViewPage:
using Elmah;
var context = HttpContext.Current;
ErrorLog.GetDefault(context).Log(new Error(e, context));