Вопрос

Кто-нибудь успешно пользуется монорельсовой дорогой 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 даже если оно обрабатывается / проглатывается.Вот несколько советов, с которых можно начать с сигнализацией об ошибке:

-Атиф

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top