问题标签 [azure-queues]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2182 浏览

azure - Azure 存储浏览客户端软件选项

据我所知,这些是唯一可用于浏览 Azure 表存储、队列和 Blob 的客户端:

还有其他我不知道的客户吗?

0 投票
4 回答
10202 浏览

azure-storage - 天蓝色存储队列消息实时时间

我是否理解正确,在 Windows Azure 队列存储中,消息最多可以存在 7 天?

7 天后该消息会发生什么情况?

如果您在 7 天内阅读了一次并且不删除该邮件,会发生什么情况?我的意思是您从队列中读取消息并将可见性超时设置为 1 分钟。在您阅读消息(不删除它)并且 1 分钟超时可见性到期后会发生什么?我知道队列已经回来并且可用,但是该消息的 7 天 TTL 会发生什么情况,它是从那一点更新到 7 天,还是自消息创建以来完全是 7 天?

0 投票
1 回答
5569 浏览

c# - Azure 本地开发队列连接字符串

我使用 VS 2013 中的 QueueWorkerRole 模板创建了一个新的 WorkerRole,它创建的代码如下所示:

我遇到的问题是正确设置 Microsoft.ServiceBus.ConnectionString 以便它可以与在模拟器中运行的本地开发队列一起使用。默认情况下,它是这样设置的:

而且我猜当我有一个托管服务要连接时这会很好,但我只是在本地尝试一些东西并且无法连接它。

我尝试了“UseDevelopmentStorage=True”,并尝试使用在查看存储模拟器 UI“127.0.0.1:10001”时找到的地址以及使用标准格式的本地模拟器:http://www。 connectionstrings.com/windows-azure/ (DefaultEndpointsProtocol=https;AccountName=devstoreaccount1; AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;) 但我没有运气。

有时我在 Compute Emulator UI 中看到“服务总线连接字符串包含无效属性”,有时我收到无法连接的错误。

谢谢。

0 投票
1 回答
459 浏览

c# - Windows Azure QueueClient 推荐缓存?

刚刚创建了一个新的工作角色来处理来自队列的消息。默认示例包括开头的以下代码:

谁能详细说明该演示附带的评论?

0 投票
2 回答
1796 浏览

asp.net-mvc - Scalable SignalR + Azure - SignalR 放在哪里,我应该使用 Azure 队列吗?

我正在开发一个具有各种类型通知的应用程序。通知示例:

  • 已创建消息
  • 已提交清单
  • 上市批准

我想将所有这些都与 SignalR 联系起来,以便任何连接的客户端都能实时获得更新。

就架构而言 - 现在应用程序完全位于托管在 Azure 网站上的单个解决方案中。这些通知类型中的每一个的触发器都存在于此应用程序中。

当触发器被触发时,我想告诉 signalR,“嘿,将此消息发送给以下客户端”以及用户 ID 列表。我假设可以根据 userId 识别连接的客户端......并且我假设send message to clients应该在 Web 应用程序之外执行该过程,以免减慢 MVC 应用程序或冒丢失数据的风险异步调用中断。第一个问题——这些假设是否正确?

假设是这样,这意味着我需要一个专门的网络/工作者角色来向客户发送消息。我可以将消息从我的 Web 应用程序直接传递到这个进程,但是如果进程终止会发生什么?弹性问题让我相信传递消息的正确方法是通过某种队列。第二个问题——这是一个有效的思路吗?

假设是这样,这意味着我可以使用一个好的 ol' Azure SQL 数据库作为队列,但似乎有一些专门的(可能更便宜的)服务来处理消息队列,例如:

http://www.windowsazure.com/en-us/develop/net/how-to-guides/queue-service/

第三个问题:这应该用作signalR的排队机制吗? 我有兴趣在未来使用 Redis 进行缓存...... Redis 会比队列服务更好还是更差?

最后一个问题:

我试图在这里说明我提出的架构:

在此处输入图像描述

我在这里最不清楚的是 MVC 应用程序如何知道何时排队,或者 SignalR 进程如何知道何时广播。MVC 应用程序是否应该盲目排队,而不关心连接的客户端?这似乎在队列上引入了大量浪费的空间,并在工作角色中浪费了周期,因为只有极少数的客户端会被连接。

我能想到的唯一其他方法是以某种方式让 MVC 应用程序可以看到 SignalR 进程,以查看客户端是否已连接......如果是,则 Enqueue。不过,这让我感到不舒服,因为这意味着我必须为每个被触发的触发器点击图表上的红线,这 - 即使完成异步 - 让我担心性能和可靠性。

对于可扩展的高性能 SignalR 消息广播,推荐的架构是什么? 性能是重中之重,其次是成本。

奖金问题:

  • 如果某些消息的优先级高于其他消息怎么办?是否应该使用两个队列,其中一个总是在另一个之前被检查?
0 投票
1 回答
1380 浏览

azure - 使用 Azure 服务总线的基于消息类型的路由

使用 Azure 服务总线实现基于强类型消息的路由的最简单方法是什么。

假设我们只有一个消费者并且正在使用服务总线队列,是更容易为每种消息类型(在我们的例子中,事件消息)创建一个队列,还是简单地为所有消息创建一个队列并处理消费者的路由?

如果我们有多个消费者并且想要进行发布-订阅消息传递,我们应该为每个消息类型创建一个主题,每个消息类型为每个消费者创建一个订阅,还是只为所有消息创建一个主题,然后处理消费者上的路由?

0 投票
1 回答
462 浏览

c# - NServiceBus 在 Azure 中创建队列失败

我的 NServiceBus 项目将不再从 Azure 队列中读取。

我删除了它们,因为可能有一些消息卡住了,但现在它将不再创建队列。注意:用于自行自动创建队列的完全相同的代码和凭据。相反,我得到:

40400: 未找到端点..

在 Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.EndSendCommand(IAsyncResult 结果) 在 Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnEndSend(IAsyncResult 结果) 在 Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnSend(TrackingContext trackingContext, IEnumerable1 messages, TimeSpan timeout) at Microsoft.ServiceBus.Messaging.MessageSender.Send(TrackingContext trackingContext, IEnumerable1 条消息,TimeSpan 超时)在 Microsoft.ServiceBus.Messaging.QueueClient.Send(BrokeredMessage 消息)在 NServiceBus.Unicast.Queuing.Azure.ServiceBus.AzureServiceBusMessageQueue.Send(字节)的 Microsoft.ServiceBus.Messaging.MessageSender.Send(BrokeredMessage 消息) [] rawMessage,QueueClient 发件人)在 c:\TeamCity\buildAgent\work\nsb.master_7\src\azure\Queueing\NServiceBus.Unicast.Queuing.AppFabric\AzureServiceBusMessageQueue.cs:NServiceBus.Unicast.Queuing.Azure 的第 179 行。 ServiceBus.AzureServiceBusMessageQueue.Send(TransportMessage message, Address address) in c:\TeamCity\buildAgent\work\nsb.master_7\src\azure\Queueing\NServiceBus.Unicast.Queuing.AppFabric\AzureServiceBusMessageQueue.cs:NServiceBus.Unicast 的第 160 行.UnicastBus.SendSubscribeMessageWithRetries(地址目的地,TransportMessage subscriptionMessage, String messageType, Int32 retriesCount) in c:\TeamCity\buildAgent\work\nsb.master_7\src\unicast\NServiceBus.Unicast\UnicastBus.cs:NServiceBus.Unicast.UnicastBus.<>c_ 的第 476 行c:\TeamCity\buildAgent\work\nsb.master_7\src\unicast\NServiceBus.Unicast\UnicastBus.cs 中的DisplayClass8.b _7(对象状态):System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback 回调的第 433 行, 对象状态, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 在 System.Threading.ThreadPoolWorkQueue 。派遣()

我的配置如下:

0 投票
0 回答
76 浏览

windows-store-apps - 设备离线时向用户设备发送 Toast 通知

当用户设备离线或暂时失去连接或锁定时,我向用户设备应用程序发送 toast 通知。用户设备在线后没有收到 toast 通知。设备连接后如何接收 toast 通知。

我使用此代码发送通知

请帮助我。设备连接后如何接收 toast 通知。

0 投票
1 回答
1274 浏览

c# - 无法在 Azure 队列中添加超过 32 条消息

我尝试在 Azure 队列中添加 50 条消息,但似乎只有前 32 条消息排队。

按照文档,我创建了一个这样的队列:

然后我将消息添加到队列中:

我从服务器资源管理器-> Windows Azure-> Storeage-> 队列打开队列以检查里面的内容,但只出现前 32 个。

我错过了什么?

0 投票
2 回答
517 浏览

nservicebus - Nservicebus msmq 使用网关到 azure 队列

使用 Bus.SendToQueues 时出现错误,问题结束时出现详细错误。

我有一个使用存储帐户和密钥设置的天蓝色队列,我正在尝试使用 Bus.SendToSites 让使用 msmq 的本地服务总线处理程序向天蓝色站点发送消息。

试图让网关运行,按照: http: //support.nservicebus.com/customer/portal/articles/859548-the-gateway-and-multi-site-distribution,我正在使用这个配置:

App.config:(我是否正确设置了站点?)

处理程序:

在运行时,我得到以下信息:

error: Failed to send message to address: 分发者的数据地址,用作此端点发送的消息的返回地址..gateway@HFORTE

内部异常:{“格式名称无效。”}

Stacktrace: 在 System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS 属性,ITransaction 事务)在 System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS 属性,IntPtr 事务)在 System.Messaging.MessageQueue 的 System.Messaging.MessageQueue.MQCacheableInfo.get_WriteHandle() .SendInternal(Object obj, MessageQueueTransaction internalTransaction, MessageQueueTransactionType transactionType) at System.Messaging.MessageQueue.Send(Object obj, MessageQueueTransactionType transactionType) at NServiceBus.Transports.Msmq.MsmqMessageSender.Send(TransportMessage message, Address address) in :line 0

我看到传输是 MSMQ - 这是问题所在,MSMQ 和 Azure 是不同的传输协议,如果是,如何解决?