1つのサブスクライブパターンと2つの公開パターンを持つ大規模なWPF-MVVMアプリケーションがあります。私は次のようにイベントを購読しました:
EventAggregator.GetEvent<StatusMessageEvent>().Subscribe(OnCommandLineStatusReturned, ThreadOption.UIThread);
コールバックメソッドは次のとおりです。
private void OnCommandLineStatusReturned(StatusMessageEventArgs args)
{
//some data to display
}
ここで、このイベントを2つの異なるオブジェクトで2回公開する必要があります。
private StatusMessageEventArgs statusMessageEventArgs;
private StatusMessageEventArgs responsestatusMessageEventArgs;
これらのインスタンスをさまざまな時期に公開しましたが、
EventAggregator.GetEvent<StatusMessageEvent>().Publish(statusMessageEventArgs);
EventAggregator.GetEvent<StatusMessageEvent>().Publish(responsestatusMessageEventArgs);
しかし、アプリケーションを実行すると、誤動作します。つまり、10回のうち、2回のコールバックメソッドはまったく呼び出されません。同じサブスクライブで2回公開されたためですか?