【问题标题】:How can I create real time application and interconnected applications如何创建实时应用程序和互连应用程序
【发布时间】:2013-03-24 12:12:41
【问题描述】:

我有一个WCF 服务,它公开了SOAP 和REST 端点,我们在WCF 服务之上还有WPF、Android、Windows Phone(将来)、ASP.NET 应用程序,所以有很多用户可以使用来自世界各地的许多应用程序。

目前,我们在数据的新鲜度方面存在一个大问题,我们正在使用一些老式的轮询技术来查找更新的数据,有没有办法创建一个系统,将数据推送到连接的应用程序而不管平台和如果任何应用程序在服务器上发生任何数据更新,则位置。

我已经研究了 Duplex Callbacks,但这在 android 上是不可能的,并且有一些其他限制。我也知道GCM for android,但不知道如何使它与其他平台应用程序一起工作。

【问题讨论】:

  • 您将需要一个持久连接,这在移动应用程序的情况下几乎是不可能的。考虑使用基于间隔的更新。
  • @Aneri 感谢您的快速回复,请您指导我取样或举个例子让我开始。

标签: c# android .net wpf wcf


【解决方案1】:

GCM 仅适用于 Android 设备。 Windows Phone 和 iOS 也有类似的推送通知服务。有几种解决方案,例如PushSharpWindows Azure Mobile Services,它们允许您将通知推送到多个设备。

至于推送通知的用途。我强烈建议不要使用它们来推送数据,因为您不能总是 100% 确定通知是否会到达设备。因此,仅使用它们来通知客户端新数据可用,然后获取它。将推送通知与轮询一起使用。

尚不完全清楚您的应用程序做了什么,因此我不知道您何时以及多久需要一次新数据。请记住,例如 iOS 不允许像 Android 和 Windows Phone 那样使用永久后台服务,但 WP 只允许每 30 分钟更新一次。

【讨论】:

  • 我的应用程序主要工作是为事件注册人员,可以通过连接到同一 WCF 服务的任何设备完成注册,因此当有人出现事件时我想通知所有其他设备那家伙正在参加并在现场
  • 可以在 IIS 上的 WCF 中使用 PushSharp,如常见问题解答中所述:github.com/Redth/PushSharp#faqs
猜你喜欢
  • 2012-02-13
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多