我将使用MVVM+响应式扩展来处理一个具有回调的TCP.NET WCF服务。因此,我创建了一个ClientProxy类来接收回调。我在Model中订阅了该ClientProxy的Subject。现在,我想推送接收到的项到ViewModel中,而不必引用ViewModel。(注意:如果我拼错了某个实际项目名称,那并不是我的代码真正的样子。)
正在发生的是,项目从
那么,有人能告诉我在不使用 Reactive Extensions 的情况下,将一个 WCF 回调中的项目 推送 到
此外,这是否是 Reactive UI 处理的内容?
我看到的大多数示例都显示
Model:
public Subject<CustomSale> CustomSaleAdded = new Subject<CustomSale>();
ClientProxy._onCustomSaleAdded.Subscribe(x =>
{
CustomSaleAdded.OnNext(x);
});
然后在我的ViewModel
中,我只是尝试要订阅Model
的Subject
CustomSaleAdded
,并将其添加到我的ObservableCollection<Sale> Sales
中:
_scheduleModel.CustomSaleAdded.Subscribe(x =>
{
Sales.Add(x);
});
正在发生的是,项目从
ClientProxy
到达 Model
,我看到它触发了 CustomSaleAdded.OnNext(x)
。但是在 ViewModel
中,我设置了断点却没有任何反应。那么,有人能告诉我在不使用 Reactive Extensions 的情况下,将一个 WCF 回调中的项目 推送 到
ViewModel
中的 ObservableCollection
的最佳方法是什么?此外,这是否是 Reactive UI 处理的内容?
我看到的大多数示例都显示
ViewModel
直接与 Web 服务一起工作。 而我有两个额外的层在 Model 中,然后是 ClientProxy
,它们首先获取项目并将其 推送。