2011-12-12 74 views
1

当移动员工从他/她的windows phone 7 mobile发送任何消息时,我们的桌面应用程序需要直接更新。如何从Windows Phone 7.5移动应用程序更新我的桌面应用程序

目前我们的要求是,从我们的桌面应用程序发送一条消息到Windows Phone 7.5,我们可以使用PUSH Notifications轻松实现,现在当用户针对发送的消息采取一些措施时,Windows Phone应用程序将调用WCF服务并将消息传递给接收消息并放入数据库的WCF,然后应用程序将其读取,这就是问题所在。因为我们的WCF把这个消息放到数据库中,我们的应用程序每5秒轮询它一次,如果从我们的任何驱动程序收到任何回复,那么它正在更新UI。

我们想要实现的是,当我们收到任何答复时,我们的桌面应用程序应该会自动通知并取出UI,然后将其放入数据库中。

所以请分享你在这个问题上的经验。

感谢

回答

2

为什么不更新WCF服务,通知所有已注册的“听众”(即运行客户端应用程序的实例),该数据库已经更新新信息?

您可以通过让您的服务公开可由要注册某些/所有事件类型的客户端调用的服务。客户端应用程序托管实现回调协议的服务,该服务可以在注册事件引发时调用。

有一个很好的MSDN文章单向,回调和发布WCF消息:http://msdn.microsoft.com/en-us/magazine/cc163537.aspx

一定要跟踪并扼制您的客户端应用每秒接收的事件数 - 您希望发生的最后一件事情是100个客户端应用全部命中50次服务器,每次50个事件同时发生!

+0

理查德,你的意思是客户端应用程序,你的意思是我们的桌面应用程序。如果可能的话,请你详细阐述你的目标解决方案,我正在阅读上述文章。我是WCF新手,所以如果我提出一个愚蠢的问题,我很抱歉。 – Shax

+0

您在问题描述中提到了桌面应用程序。我假设这个“桌面应用程序”(即客户端应用程序)将是在发生所述事件并且服务器想要通知应用程序某事已经改变时注册回调的人。另外,请务必阅读MSDN论文 - 它将为您提供许多关于消息传递拓扑和解决方案的指导。 –

0

Richard的解决方案可能更合适,因为它描述了使用打包好的WCF API,这些API将为您做很多工作。另一种方法可以是自己实施长期投票。您可以在需要立即更新时更新您的Windows Phone客户端。我在前段时间写了一个article,如果您在Windows Phone上进行长时间轮询,您可以找到它。

相关问题