c# - Azure 服务总线订阅。关闭()未按预期工作
问题描述
我有一个横向扩展的应用程序,其中每个实例都连接到同名的 Azure 服务总线订阅。最终结果是只有一个实例可以对任何给定消息采取行动,因为它们都在监听同一个订阅。
有时,应用程序需要将实例置于空闲状态(服务结构 ActiveSecondary 副本)。发生这种情况时,我需要关闭订阅,以便该实例不再接收消息。如果最初有 2 个实例,一旦一个进入空闲状态,所有消息都应该发送到剩余的实例。这很重要,因此所有消息都由正确配置的主实例处理。
当实例空闲时,取消令牌被取消。我有代码监听取消并在最初创建订阅时生成的 SubscriptionClient 上调用 Close()。
问题是,即使我在一个实例上调用 Close(),消息仍然在它和主实例之间随机拆分。
我这样做的方式本质上是错误的,还是我的代码中的其他东西导致了这种行为?
解决方案
无视这个帖子。结果我在一个实例中使用了两次相同的订阅名称,所以他们在竞争这些事件。close() 函数按预期工作。
推荐阅读
- python - 提取 Web Scrap 的一部分
- prolog - 如何(目标)问题显示系统到达序言的结论证明
- java - 我正在尝试在 Eclipse 中使用 Swing,但我不断收到此错误。见下文
- python - 如何在python中绘制正弦和余弦函数
- c++ - 为什么当窗口没有焦点时 SendMessage 不起作用?
- python - How can I make a bot not case sensitive in discord.py?
- javascript - (jQuery 或 JS)当 display=none 时显示
- c# - Mailkit:从特定文件夹中获取消息
- powershell - 在 Windows (powershell) 中将十六进制转储到 zip 文件
- python - 重命名列中的重复值