단일 메서드 내에서 게시 된 이벤트의 결과를 얻는 방법이 있는지 궁금합니다. 나는 WCF 서비스가 여기에 그 방법 중 하나의 구현 : 내 WCF 방법은 오류가 발생하거나하지 않을 경우 발신자를 알리는 결과를 반환 볼 수 있듯이EventAggregator 확인
public Result DisplayMessage(string message)
{
// some error handling
if(errorOccurred)
{
return new Result { IsError = true, ErrorMessage = "error occurred"}
}
eventAggregator.GetEvent<DisplayMessageEvent>().Publish(new DisplayMessageEventArg(message));
return new Result { IsError = false, ErrorMessage = String.Empty };
}
은. 이벤트를 게시하기 전에 오류 처리를 수행 할 수 있지만 DisplayMessageEvent 구독자 측에서 문제가 발생하면 이에 대한 결과도 반환하고 싶습니다. 일반적으로 DisplayMessageConfirmationEvent과 같은 작업을 수행하고 구독자가이 이벤트를 게시자에게 보내지 만 단일 메서드 내에서이를 수행하는 방법은 무엇입니까? 즉, 기본적으로 내가하고 싶은 것은 이벤트를 게시하고 구독자로부터의 결과를 기다리고 WCF 호출자에게 반환하는 것입니다. 어떤 아이디어?
고마워요, 제가 원했던대로 정확하게 작동합니다. 답변으로 표시되었습니다. "다른 메시징 시스템"에 대해 언급 한 호기심에서 - 몇 가지 예를 들어 주시겠습니까? 나는 도서관에 대한 간단한 목록 만 열람 할 수 있도록 읽었습니다. – SteppingRazor
거기에 많은 사람들이 있습니다. 이것은 정말로 필요한 것에 달려 있습니다. 하나의 프로세스, 하나의 컴퓨터에서 여러 프로세스, 여러 컴퓨터에서 여러 프로세스, 장애 조치 같은 클러스터 기능 ...이 조금 나이가 있지만 몇 가지가 포함되어 있습니다 : http://stackoverflow.com/questions/1545442/net-service-bus - 권고 – Haukinger