对于UI功能,我需要从Windows Azure队列读取并相应地更新UI。从客户端访问Windows Azure队列javascript/jquery
我看到很多node.js的例子,但没有使用纯Javascript或jquery。 (azureQuery接近,但还没有排队的功能,它需要一个Web API交谈)
这是一种混合型的网络应用程序同时使用asp.net和MVC 4.使用MVC 4
产生这种特殊页面任何建议,将不胜感激。
罗伯托 (PS。能够写入队列也将是不错)
对于UI功能,我需要从Windows Azure队列读取并相应地更新UI。从客户端访问Windows Azure队列javascript/jquery
我看到很多node.js的例子,但没有使用纯Javascript或jquery。 (azureQuery接近,但还没有排队的功能,它需要一个Web API交谈)
这是一种混合型的网络应用程序同时使用asp.net和MVC 4.使用MVC 4
产生这种特殊页面任何建议,将不胜感激。
罗伯托 (PS。能够写入队列也将是不错)
这直接是不可能的从浏览器。浏览器中的JavaScript必须遵循同源策略,这意味着JavaScript只能调用当前网页的域名。由于您的网页不会从<account>.queue.windows.net
提供,这意味着您的JavaScript将无法在该网域上调用API。 (这在大多数浏览器中是可能的,如果队列服务提供了CORS标题,但它不会)。
您需要托管一个Web端点(可能在您的MVC 4应用程序中),它代理队列消息。您的JavaScript会向您的网络应用发送消息,您的网络应用会将消息放入队列中。
如果您为其创建了共享访问签名,那么您可以将JSONP加入队列吗?你是否真的可以阅读这个消息是另一回事。 –
@RichardAstbury JSONP是服务器从“
你可以使用任何支持的语言超过REST接口来访问Windows Azure的队列。使用JavaScript,您可以创建ajax调用来连接Azure存储队列以读取和写入消息。一旦你有了基于JavaScript + Ajax的代码,你只需要使用Azure Queue Storage REST API来执行任何操作。
Here是一个使用JavaScript连接Azure存储队列的示例。您可以修改代码以连接到您的真实Azure存储队列中,它会满足你的需要:
这甚至可以在浏览器中工作吗?同样的来源政策呢? –
UPDATE:请参考下面的意见和丢弃这个答案。
您可以尝试获取使用队列的共享访问签名(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 =劳普& SIG = PN4dyOoOIBlJPQbQ%2Bu7jDLyt%2FpIc3k2k1NZTei6q7Cg%3D
使用此我创建了一个URI为偷看消息
youraccount.core.queue.net/queuename/ 消息?SV = 2012-02-12 & st = 2012-10-11T04%3A31%3A53Z & se = 2012-10-11T05%3A31%3A53Z & SP = R & SIG = PN4dyOoOIBlJPQbQ%2Bu7jDLyt%2FpIc3k2k1NZTei6q7Cg%3D & peekonly =真
我然后用于这个URI在我的JavaScript代码和跟踪在Fiddler中请求。我能够看到从Windows Azure存储返回的响应。
另一种方法是将队列的内容放入blob存储(也许作为json),然后使用Javascript轮询新项目。使用HTTP范围和/或聪明的命名为blob这可能是相当有效的。运行自己的端点当然更复杂,但如果对队列的读取访问至关重要,则可能会产生麻烦。 –