public MainWindow() { InitializeComponent(); AsyncMessageBroker = new AsyncMessageBroker() .AddConfirmMessage() .AddTo(Disposables); DataContext = new MainWindowViewModel(AsyncMessageBroker); }
public async Task Async() { var mb = new AsyncMessageBroker(); var l = new List<string>(); var d1 = mb.Subscribe<int>(async x => l.Add("a:" + x)); var d2 = mb.Subscribe<int>(async x => l.Add("b:" + x)); await mb.PublishAsync(100); l.Is("a:100", "b:100"); l.Clear(); d2.Dispose(); await mb.PublishAsync(200); l.Is("a:200"); l.Clear(); d1.Dispose(); await mb.PublishAsync(300); l.Count.Is(0); }
public async Task Async() { var mb = new AsyncMessageBroker(); var l = new List <string>(); var d1 = mb.Subscribe <int>(async x => l.Add("a:" + x)); var d2 = mb.Subscribe <int>(async x => l.Add("b:" + x)); await mb.PublishAsync(100); l.Is("a:100", "b:100"); l.Clear(); d2.Dispose(); await mb.PublishAsync(200); l.Is("a:200"); l.Clear(); d1.Dispose(); await mb.PublishAsync(300); l.Count.Is(0); }
public HybridMessageBroker() { _messageBroker = new MessageBroker(); _asyncMessageBroker = new AsyncMessageBroker(); }