云存储:使用 Windows Azure Storage 增强应用程序的引擎
2010-03-26 00:00:00 来源:WEB开发网异步消息传送 (Toast)
当今,交互式网站不仅是一种时尚,更是一种需求。用户已经习惯了完全交互式网站,以致于当他们遇到一个静态的非交互式页面时会认为什么地方出问题了。考虑到这一点,我们希望可以在我们的用户使用这样的站点时向他们发送通知。
为此,我们将利用 Windows Azure Queue 和 Windows Azure Table 存储机制构建一个消息传递框架。客户端将使用与 jQuery Gritter 插件结合的 jQuery 在用户的浏览器中将通知显示为一个 toast,类似于当您收到新的 Outlook 电子邮件、即时消息或警报声时在 Windows 系统托盘上方淡出的消息。
当需要向某个用户发送通知时,该用户将被插入到队列中。因为工作者角色负责处理队列中的每个项目,所以该角色将动态确定如何处理每个项目。在本例中,引擎只需要执行一个操作,但在复杂的 CRM 网站或支持站点中,要执行的操作可能不计其数。
工作者角色在队列中遇到用户通知时,会将该通知存储在表存储中并将其从队列中删除。这样,消息可以保留很长时间并等待用户登录进行处理。队列存储中的消息的最大保存期限比较短,不会超过几天。当用户访问网站时,我们的 jQuery 脚本将异步获取表中的所有消息,并通过在控制器上调用可返回 JavaScript Object Notation (JSON) 的方法在浏览器中以常见的形式显示这些消息。
尽管队列只处理字符串或字节数组,但我们可以通过将任何类型的结构化数据序列化为二进制文件来将其存储在队列中,然后在我们需要使用时再将其转换回来。这成为将强类型化的对象传递到队列中的出色技术。我们会将此技术构建到我们的队列消息的基类中。然后,我们的系统消息类可以包含我们的数据,而且可以将整个对象提交到队列中并根据需要进行利用(请参见图 2)。
更多精彩
赞助商链接