从客户端javascript / jquery访问Windows Azure队列

对于UIfunction,我需要从Windows Azure队列中读取并相应地更新UI。

我看到很多node.js示例,但没有使用纯Javascript或Jquery。 ( azureQuery接近,但还没有队列function,它需要一个Web API来交谈)

这是一个使用asp.net和MVC 4的混合Web应用程序。这个特定的页面是使用MVC 4生成的。

任何建议,将不胜感激。

罗伯托(PS。能够写入队列也不错)

这不是直接从浏览器。 浏览器中的JavaScript必须遵循同源策略,这意味着JavaScript只能调用当前网页的域。 由于您的网页不会从.queue.windows.net ,这意味着您的JavaScript无法在该域上调用API。 (如果队列服务提供CORS头,那么在大多数浏览器中都可以这样做,但事实并非如此。)

您需要托管代理队列消息的Web端点(可能在您的MVC 4应用程序中)。 您的JavaScript会向您的网络应用发送消息,您的网络应用会将消息放入队列中。

更新:请参阅下面的评论并放弃此答案。

您可以尝试使用队列的共享访问签名(SAS)获取消息列表。 我刚做了一个简单的测试,我用“读取”权限为队列创建了一个SAS。 我得到一个像这样的URI:

youraccount.core.queue.net/queuename?sv=2012-02-12&st=2012-10-11T04%3A31%3A53Z&se=2012-10-11T05%3A31%3A53Z&sp=raup&sig=PN4dyOoOIBlJPQbQ%2Bu7jDLyt%2FpIc3k2k1NZTei6q7Cg%3D

使用这个我创建了一个用于查看消息的URI

youraccount.core.queue.net/queuename/ messages ?sv = 2012-02-12&st = 2012-10-11T04%3A31%3A53Z&se = 2012-10-11T05%3A31%3A53Z&sp = r&sig = PN4dyOoOIBlJPQbQ%2Bu7jDLyt%2FpIc3k2k1NZTei6q7Cg%3D& peekonly =真

然后我在我的JavaScript代码中使用了这个URI,并在Fiddler中跟踪了请求。 我能够看到从Windows Azure存储中回复的响应。

您可以使用任何受支持的语言访问基于REST界面的Windows Azure Queue。 使用JavaScript,您可以进行ajax调用以连接Azure Storage Queue来读取和写入消息。 一旦掌握了基于JavaScript + Ajax的代码,您只需使用Azure Queue Storage REST API来执行任何操作。

以下是使用JavaScript连接Azure存储队列的示例。 您可以修改代码以连接到真正的Azure存储队列,它将满足您的需求: