2016-12-20 2 views
1

IHandleMessages.Handle이 호출되기 전에 조치를 실행하는 방법이 있습니까?Rebus - 메시지가 처리되기 전에 작업을 실행하십시오.

Particulary log4net에 대한 내 로그의 상관 관계 ID를 설정하고이 작업을 수행하는 데 정말 어려움을 겪고 있습니다.

나는

System.Diagnostics.Trace.CorrelationManager.ActivityId = Guid.NewGuid()

에서 GUID를 얻을 수있는 활동 패턴 변환기를하지만 각각의 핸들이 활성화되기 전에이 설정 할 수 있도록합니다. 나는 각 메시지는 다음과 같이 처리되기 전에 호출 될 이벤트 대리자를 설정을 허용 Rebus.Events package 포함하는 것입니다 이것을 달성하기 위해 수수께끼

답변

1

과 용기로 쉽고 편리하게 Autofac을 사용하고 있습니다 :

Configure.With(...) 
    .(...) 
    .Events(e => 
    { 
     e.BeforeMessageHandled += (bus, headers, message, context, args) => 
     { 
      // do what you want in here :) 
     }; 
    }); 
+1

당신은 내 인생을 얼마나 쉽게 만들고 있는지 잘 모릅니다 :) Love this transport! 테스트를 거쳐 매력처럼 작동 – dariogriffo

+0

Rebus.Events는 언제 안정적인 패키지로 출시 될 예정입니까? 아직 베타 버전으로 – dariogriffo

+1

음 .... 충분한 사람들이 그것을 시도하고 저에게 평결을 내리면 내가 풀어 놓을 것입니다 - 시험판 상태가 장애물입니까? – mookid8000

관련 문제