문제
Castle Monorail과 Elmah를 성공적으로 사용하는 사람이 있습니까?
우리는 사용자에게 우호적 인 오류 메시지를 제시하기 위해 많은 원인을 사용하고 있지만, 이렇게하면 Monorail Rescue가 차단하는 것만 큼 예외는 Elmah만큼 멀지 않습니다.
이상적으로 우리는 사용자가 구조를보기를 원하지만 예외는 Elmah에 기록되기를 원합니다.
아이디어/포인터가 있습니까?
건배,
어치.
해결책
Macka가 게시 한 링크를 살펴본 후, 나는이 간단한 Monorail Exception Handler를 썼습니다.
public class ElmahExceptionHandler : AbstractExceptionHandler {
public override void Process(IRailsEngineContext context) {
ErrorSignal.FromCurrentContext().Raise(context.LastException);
}
}
그런 다음 web.config, monorail 섹션에 등록했습니다.
<monorail>
<extensions>
<extension type="Castle.MonoRail.Framework.Extensions.ExceptionChaining.ExceptionChainingExtension, Castle.MonoRail.Framework"/>
</extensions>
<exception>
<exceptionHandler type="MyNamespace.ElmahExceptionHandler, MyAssembly"/>
</exception>
...
</monorail>
그리고 그게 다야.
다른 팁
또한 게시 한 후 Google 그룹 Atif가 나를 올바른 방향으로 지적했을 것 같습니다.
Elmah에서 오류 신호를 살펴보고 싶을 수도 있습니다. Elmah의 파이프 라인을 통해 처리/삼키는 경우에도 예외를 통과하려는 시나리오를 위해 설계되었습니다. 오류 신호를 시작하기위한 몇 가지 포인터는 다음과 같습니다.
- http : //code.google.com/p/elmah/wiki/dotnetslackersarticle#error_signa ...
- http : //code.google.com/p/elmah/wiki/dotnetslackersarticle#signaling_e ...
-ATIF
제휴하지 않습니다 StackOverflow