Async Silverlight到WPF通信的选项?

时间:2010-04-07 16:14:35

标签: wpf silverlight cross-platform communication asynchronous

与WPF组件通信的Silverlight组件的最快通信模型是什么?也就是说,至少我想从WPF组件中的Silverlight组件中使用一个事件。

  • 我知道您可以使用WCF构建桥梁
  • 我知道您可以使用Javascript从WPF桥接 - > Silverlight(我有那个工作)
  • 我知道你可以使用COM走另一条路(Silveright - > WPF)

然而,我正在寻找更紧密的通信模型(不使用COM) - 也许像EventAggregator(Silverlight组件pubs,WPF组件子)...但我只在WPF 或 Silverlight但不能同时使用。

创建这样的eventAgg / eventBus的任何想法,不使用WCF,而不使用COM?

对任何方法/想法开放;可能是我没有考虑过的事情。

感谢。

1 个答案:

答案 0 :(得分:0)

有趣的挑战 - 您能否提供一些有关您需要这样做的详细信息?

我的第一个问题是:你是否想过在同一台机器上同时运行这两个应用程序?两者都很重要。

如果答案是肯定的(同一台计算机,都在运行),那么您应该能够使用WCF实现解决方案,该服务在WPF应用程序中自托管,Silverlight客户端引用它,以及跨域策略适当设置。

如果答案是肯定的,但不是在同一时间,那么您将需要第三方,如消息总线,可能实现为Windows服务。想到NServiceBus

无论如何,WCF确实是Silverlight中消息传递的最佳解决方案。如果您要使用不需要WCF的Silverlight应用程序到Silverlight应用程序there is a mechanism for that

消息总线将为您提供您正在考虑的事件聚合器功能 - 一直在那里接受订阅和发布的播放器。

另一个选项(如果同时运行)是将Silverlight应用程序提升为完全信任并使用Sockets。有关详细信息,请参阅this link(他提供的示例可能会有所帮助)。