大型棱镜/ Silverlight应用程序 - 多个模块与单一数据服务通信

时间:2010-09-30 17:03:05

标签: silverlight web-services prism eventaggregator

我正在为使用Prism的大型数据驱动Silverlight应用程序开发框架。我正在为应用程序的不同部分创建多个模块,但所有模块都需要从同一个REST Web服务访问数据。所以我最初的计划是为数据检索创建一个单独的模块,然后使用EventAggregator将结果传递给订阅结果事件的其他模块。由于没有View,数据模块将没有ViewModel。

所以有几个问题: 1.我描述这种方式的好方法是什么 - 一个模块为其他模块提供信息? 2.如果没有ViewModel,我可以在数据模块中的哪个位置发布事件?

非常感谢任何提示或建议。

1 个答案:

答案 0 :(得分:1)

您可以通过注入EA来发布任何组件中的事件。在这种情况下,您可能会在数据检索完成后发布事件。

但是,这可能不是最好的方法。我要采取的是为WebService创建一个接口并在容器中注册它。不同的模块可以从容器中获取服务实现并自行请求数据,而不依赖于“馈送通知”。

有很多主题在Prism forums at Codeplex中讨论这个问题。