Silverlight客户端 - 服务器通信

时间:2010-10-17 19:24:54

标签: silverlight architecture client communication

我有一个WPF应用程序,我想移植到Linux / Mac。最逻辑的方式似乎是将应用程序分为两部分:客户端和服务器,并使用Silverlight作为客户端UI,并在Mono中运行服务器部分(作为一个不可见的控制台应用程序)。

但让这两个部分沟通的最佳方式是什么? Silverlight 4支持COM互操作,但我无法使用它,因为它会在Moonlight中失败。所以我在考虑与localhost的套接字连接,并使用JSON或类似的东西。或者有没有更好的方法,不需要我为server-dll中包含的所有函数编写几十个包装器?因为通信将在Mono<> Moonlight之间进行,也许我可以使用与跨平台的COM互操作类似的东西?

3 个答案:

答案 0 :(得分:1)

你走在正确的轨道上。

您应该创建一个Web服务器应用程序,Silverlight应用程序将通过REST或SOAP通过http://localhost与之通信。

答案 1 :(得分:1)

也许您可以考虑使用Eneter Messaging Framework 它允许实现Silverlight与基于Tcp的独立应用程序之间的通信。低级别的通信是隐藏的,框架非常易于使用 您可以看到以下示例:
http://eneter.blogspot.com/2010/07/silverlight-interprocess-communicatin.html

答案 2 :(得分:0)

约书亚 - 我有点困惑(我并不是说这是一种消极的方式)。如果应用程序在用户计算机上运行,​​那么是否没有“服务器”可以连接?

服务器端组件的性质是什么? - 他们在做什么?难道你不能从SilverLight中运行整个事情吗?

SilverLight正在为.Net提供运行时主机,从这个意义上说,它可以包含您的整个应用程序 - 它仍然可以像“常规”基于Web的解决方案一样分层,因此您仍然可以为业务逻辑提供单独的组件等