【发布时间】:2016-08-06 07:21:26
【问题描述】:
我正在使用 Azure 服务总线订阅和主题来发送订单和获取订单。我们有一个 Windows 应用程序,它使用来自 azure 服务总线订阅的 web api 来拉订单。
假设如果用户登录并获得 5 个订单。如果用户从 Windows 应用程序注销,那么我们将解锁来自 azure 服务总线的消息。如果用户在 5 分钟或更短的时间内再次登录,那么我们不会从 azure 服务总线获得所有订单。它有时会像 3 或 4 一样来。
谁能帮助我解决这个问题,为什么我没有再次收到所有 5 个订单。我正在使用subscribeclinet 的ReceiveBatch 方法来拉取消息。
【问题讨论】:
-
能否详细说明第二段?你是什么意思“f用户从Windows应用程序注销然后我们解锁来自Azure服务总线的消息”?另外,当用户登录时,您是否会拉下所有消息?
-
嗨,肖恩,我的意思是 Windows 应用程序中有登录/注销功能。当用户登录时,我们使用 peeklock 方法从 azure 中提取消息,并且消息锁定时间设置为 5 分钟,因为我们需要一些时间来处理消息。如果我们完成了一条消息,那么我们将它从服务总线订阅中标记为完成。如果我们在用户注销时没有解锁消息,那么我们将不会收到消息,直到那些没有被 azure 自动解锁的消息。因此,当用户注销时,我们手动放弃来自 azure 的消息,以便其他 Windows 应用用户可以获取这些消息。
-
也可能是TTL(TimeToLive)过期问题。
标签: azure azureservicebus servicebus azure-servicebus-queues brokeredmessage