离线客户端和消息到azure

时间:2009-05-27 07:47:06

标签: wcf azure

我正在玩windows azure,我想构建一个云端服务器应用程序,它接收来自许多不同客户端的消息,例如移动和桌面。 我想构建客户端,以便它们在“离线模式”下工作,即我希望客户端建立一个本地消息队列,一旦上线就发送到azure服务器。

我可以使用wcf和/或azure排队机制完成此操作,这样在编写代码时我不必担心客户端是在线还是离线?

2 个答案:

答案 0 :(得分:2)

您不需要在云中排队来完成此任务。要使客户端应用程序“脱机启用”,您需要在客户端上进行排队。为此,有许多选项,本地数据库,xml文件等。每当应用程序检测到网络可用性时,您可以将队列上传到Azure。是的,您可以使用WCF。

对于客户端队列/同步内容,您可以查看the Sync Framework

答案 1 :(得分:1)

到目前为止,我还没有发现对队列的巨大需求。也许只是因为我没有在我的应用视图中看到它。也可能是您可以存储在队列中的数据很少。你基本上存储了短文本字符串(比如记录ID),然后当你从队列中提取ID时你必须对ID做一些事情,比如查找,删除它,等等。

在我的应用程序中,我根本没有使用队列,就像彼得建议的那样。我直接从客户端写入表存储(通过它使用StorageClient的REST接口访问)。如果您想查看具体示例,请查看http://www.netalerts.mobi/traffic。和你一样,我想学习Azure,所以我建了一个小网站。

有一个每60秒醒来的worker_role。使用一个线程,它从它的源检索任何新数据(屏幕抓取网页)。新条目直接存储在表存储中(不需要队列)。另一个线程删除表存储中早于指定阈值的条目(对表存储运行多个线程没有问题)。然后我正在开发第三个用于向手持设备发送通知的线程。

显然,应用程序本身就是一个web_role。