公開されたイベントの結果を単一の方法で取得する方法があるのだろうかと思います。 私は、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
そこにはたくさんのものがありますが、これは本当に必要なものによって決まります。 1つのプロセス、1つのマシン上の複数のプロセス、複数のマシン上の複数のプロセス、フェイルオーバーなどのクラスタ機能...これは少し古いですが、いくつか含まれています:http://stackoverflow.com/questions/1545442/net-service-bus - 勧告 – Haukinger