Замок MonoRail и ELMAH

Кто-нибудь успешно использует Castle MonoRail и ELMAH?

Мы используем ряд Resuces, чтобы представить пользователям понятные сообщения об ошибках, но если мы сделаем это, исключения никогда не дойдут до ELMAH, поскольку MonoRail rescue перехватывает их.

В идеале мы хотим, чтобы пользователь видел спасение, но чтобы исключение было зарегистрировано в ELMAH.

Есть идеи / указатели?

Ваше здоровье,

Джей.


person BigJump    schedule 09.11.2008    source источник


Ответы (2)


Посмотрев на ссылки, опубликованные Macka, я написал этот простой обработчик исключений монорельса:

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>

И это все.

person Mauricio Scheffer    schedule 06.03.2009

После публикации в группах Google, похоже, Атиф указал на меня в правильном направлении.

Возможно, вы захотите изучить сигнализацию об ошибках в ELMAH. Он разработан для сценариев, в которых вы хотите передать исключение через конвейер ELMAH, даже если оно обрабатывается / проглатывается. Вот несколько советов, чтобы начать работу с сигнализацией об ошибках:

-Атиф

person BigJump    schedule 10.11.2008