Castle MonoRail e amp; ELMAH
-
07-07-2019 - |
Domanda
Qualcuno sta usando Castle MonoRail ed ELMAH con successo?
Stiamo usando un numero di resuce per presentare agli utenti messaggi di errore amichevoli, ma se lo facciamo le eccezioni non arrivano mai fino a ELMAH poiché il salvataggio di MonoRail le intercetta.
Idealmente, vogliamo che l'utente veda il salvataggio, ma per l'eccezione essere registrato in ELMAH.
Qualche idea / puntatore?
Saluti,
Jay.
Soluzione
Dopo aver esaminato i link pubblicati da Macka, ho scritto questo semplice gestore di eccezioni monorotaia:
public class ElmahExceptionHandler : AbstractExceptionHandler {
public override void Process(IRailsEngineContext context) {
ErrorSignal.FromCurrentContext().Raise(context.LastException);
}
}
Quindi l'ho registrato in web.config, sezione monorotaia:
<monorail>
<extensions>
<extension type="Castle.MonoRail.Framework.Extensions.ExceptionChaining.ExceptionChainingExtension, Castle.MonoRail.Framework"/>
</extensions>
<exception>
<exceptionHandler type="MyNamespace.ElmahExceptionHandler, MyAssembly"/>
</exception>
...
</monorail>
E questo è tutto.
Altri suggerimenti
Dopo aver pubblicato anche su Google Gruppi sembra che Atif potrebbe mi hanno indicato nella giusta direzione.
Potresti voler esaminare l'errore segnalazione in ELMAH. È progettato per scenari in cui si desidera passare un eccezione attraverso la pipeline ELMAH anche se viene maneggiato / ingerito. Ecco alcuni suggerimenti per iniziare con segnalazione di errore:
- http://code.google.com/p/elmah/wiki / DotNetSlackersArticle # Error_Signa ...
- http://code.google.com/p/elmah/wiki / DotNetSlackersArticle # Signaling_e ...
-Atif