3

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

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

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

任何建议,将不胜感激。

罗伯托(PS。能够写入队列也很好)

4

3 回答 3

4

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

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

于 2012-10-10T20:42:00.467 回答
2

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

您可以尝试使用队列的共享访问签名 (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%2FpIc3k2k1NZTei67q

使用它我创建了一个用于查看消息的 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%2FpIc3k2k1NZTEi6% D =真

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

于 2012-10-11T04:54:41.210 回答
0

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

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

于 2012-10-10T19:53:04.453 回答