Замковая монорельсовая дорога и ЭЛЬМА
-
07-07-2019 - |
Вопрос
Кто-нибудь успешно пользуется монорельсовой дорогой Castle и ELMAH?
Мы используем ряд ресурсов, чтобы предоставлять пользователям понятные сообщения об ошибках, но если мы сделаем это, исключения никогда не доходят до ELMAH, поскольку MonoRail rescue перехватывает их.
В идеале мы хотим, чтобы пользователь видел спасение, но чтобы исключение было зарегистрировано в ELMAH.
Есть какие-нибудь идеи / указатели?
Ваше здоровье,
Джей.
Решение
Просмотрев ссылки, опубликованные Маккой, я написал этот простой обработчик исключений монорельсовой дороги:
public class ElmahExceptionHandler : AbstractExceptionHandler {
public override void Process(IRailsEngineContext context) {
ErrorSignal.FromCurrentContext().Raise(context.LastException);
}
}
Затем я зарегистрировал его в web.config, раздел "монорельс":
<monorail>
<extensions>
<extension type="Castle.MonoRail.Framework.Extensions.ExceptionChaining.ExceptionChainingExtension, Castle.MonoRail.Framework"/>
</extensions>
<exception>
<exceptionHandler type="MyNamespace.ElmahExceptionHandler, MyAssembly"/>
</exception>
...
</monorail>
И это все.
Другие советы
После того, как также разместил на Группы Google похоже, Атиф, возможно, указал мне правильное направление.
Возможно, вы захотите изучить ошибку передача сигналов в ELMAH.Он предназначен для сценариев, в которых вы хотите передать исключение через конвейер ELMAH даже если оно обрабатывается / проглатывается.Вот несколько советов, с которых можно начать с сигнализацией об ошибке:
- http://code.google.com/p/elmah/wiki/DotNetSlackersArticle#Error_Signa ...
- http://code.google.com/p/elmah/wiki/DotNetSlackersArticle#Signaling_e ...
-Атиф