Azure 服务总线空闲时自动删除

2024-01-09

我试图找出设置 AutoDeleteOnIdle 时的正确行为。我有一个名为 MyGameMessages 的主题(不透露游戏名称,因为它可能被视为广告)。

我所做的是在服务器场中的每个节点上创建一个订阅。

var manager = GetNameSpaceManager();
_subscriptionId = Guid.NewGuid().ToString();
var description = new SubscriptionDescription(topic, _subscriptionId);
description.AutoDeleteOnIdle = TimeSpan.FromHours(1);
manager.CreateSubscription(description);

然后我启动一个几乎永远循环的线程(或者至少直到发出退出信号为止)

while(_running)
{
    if (_subscriptionId == null)
        break;

    var message = client.Receive(TimeSpan.FromMinutes(1)); // MARK A
    if (message != null)
    {
        var body = message.GetBody<T>();
        // Do stuff with message
        message.Complete();
    }

}

问题一:

第一个实现在 MARK A 处没有超时。如果一小时内没有消息发送到该主题,订阅将被自动删除。这是预期的行为吗?客户端并没有真正死掉,但我猜它只是在等待消息。难道就没有活下去了吗?

问题B:

像 MARK A 那样添加超时是否有帮助,或者每 50 分钟创建一个新订阅(为了以防万一而创建一个小的重叠)并放弃旧订阅是一个更好的解决方案吗?

Thanks

Johan


约翰,您上面描述的场景应该符合您的期望。即使没有消息流动,挂起的接收调用也会使订阅保持活动状态。对接收使用较长的超时效果会更好,这样当消息量较低时,您就不会出现繁琐的流量。需要确认的一件事是您是否正在设置AutoDeleteOnIdle主题的值,在这种情况下,订阅的接收不会使主题保持活动状态,如果一小时内没有消息发送到主题,那么它将被删除。删除主题会导致所有订阅也被删除。

您是否仍然看到订阅被删除的这种行为?如果是这样,请向 Azure 实时站点支持和产品团队创建票证并调查具体情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure 服务总线空闲时自动删除 的相关文章

随机推荐

  • 错误:在 iPad 上运行时启动失败

    经过多次挫折后 我终于得到了一个可以在 iPad 上运行且没有错误的应用程序 但是它不运行 它给出以下错误 我的应用程序确实可以在模拟器上运行 但不能在 iPad 上运行 并给出以下错误 我真的不知道为什么 我转到所描述的文件夹 该文件夹的
  • 我们应该为带有选择下拉菜单的弹出窗口编写单独的页面对象吗?

    我是使用 selenium 和 java 的页面对象模型自动化的新手 我正在使用页面对象模型 并将每个页面作为单个类 并将该页面中的操作作为方法 我们是否应该为提交表单时出现的简单弹出窗口编写单独的页面对象 此弹出窗口用于选择服务类型 接下
  • 计算文件复制/移动的估计时间?

    受此启发卡通漫画 http xkcd com 612 我想知道向用户提供文件复制 移动估计的最佳机制是什么 xkcd 上的 alt 标签如下 他们可能会说 连接可能已丢失 但更有趣的是进行天真的时间平均 让您希望等待 1 163 小时左右
  • 有没有办法阻止 SQL Server 在 CREATE / ALTER 期间验证存储过程中的 SQL

    我们系统的一方面要求我们的 SQL Server 实例通过链接服务器连接与 MySQL 服务器通信 MSSQL gt LinkedServer MSDASQL ODBC 提供程序 gt MySQL ODBC 连接器 gt MySQL DB
  • 在 C# 中使用图像和位图?

    我正在开发一个项目 其中包括由管理面板管理的图片库 我想在管理面板中向管理员显示缩略图 该面板处于活动状态并将显示给最终用户 好的 我将图像存储到数据库中的两个参数 ImageData byte ImageMimeType 所以我想在第一次
  • 使用远程主机作为工作目录,git扩展

    由于许可限制 在特定域 特定路径 允许特定 IP 等 我们的项目必须托管在服务器上并在那里进行测试 而不是克隆存储库并在本地进行开发和测试 因此 我们无法设置本地测试环境 我们必须使用中央存储库并将其用作一种 远程工作目录 开发团队希望使用
  • 适用于 iOS 设备的 vCard 格式是否正确?

    在 iOS 5 及更高版本中 Apple 引入了ABPersonCreatePeopleInSourceWithVCardRepresentation方法 这对于将 vCard 提供给地址簿并获取所创建人员的 ABRecordRefs 非常
  • 防止编译在 OS X 上生成 dSYM(使用 make)

    我有一个 C 项目 开源 默认情况下不需要删除调试符号 有很多测试可执行文件 在 OS X 上生成了很多 dSYM 文件 我尝试过 g3 作为 g 标志 但无济于事 有想法吗 谢谢 胡安 如果您使用 g 标志进行编译 请将其删除
  • cmake/ctest:是否可以使用构建目标的创建作为测试?

    我有一个程序 它读取文件格式的描述 好奇的 ISO 10303 11 并从中生成 c 生成的代码被编译到库中 并且该库与各种可执行文件链接以读取 写入该文件格式 我已设置 CMake 来构建生成器程序并为配置时指定的任何文件格式生成库 现在
  • .NET Web API:如果实例为 null,类级别验证属性会导致 Web API 抛出 ArgumentNullException

    例如 我有一个 DTO 类 如下所示 public class ExampleDto DataMember Name Date IsRequired true Order 1 Required public DateTime Date ge
  • 使用 jquery 中的 click() 事件从表单更新 Highchart

    我有一个图表 每当提交同一页面上的表单时我都想更新该图表 这var chart new Highcharts Chart options 表达式本身可以正常工作 它绘制图表 当我将它放在回调函数中时 click 事件中 当我单击相应的提交按
  • 在Linux上的C中分配可执行RAM

    我想在 Linux 上用 c 制作一个简单的即时编译器 如何分配内存 以便向其中写入原始 x86 代码并像其他函数一样执行它 请参阅 mprotect 用代码填充 n 页大小的内存区域 使用 mmap 分配 后 更改其权限以禁止写入并允许执
  • SQL Server 和 C# 的输出不同

    我相信我的编码有问题 我猜它不是按日期过滤 请帮忙 SQL代码 SELECT CONVERT char 80 i InvDate 3 AS InvDate i InvoiceNo i EmployerCode i TaxAmount i S
  • 如何使用 Python 测试 Selenium 中的警报/弹出窗口

    我被自动化困住了 当我输入错误的用户名和密码时 它会弹出 无法登录 尝试不同的用户名 def test logonWrongUserName self self setUpClass Initialize the driver self s
  • 如何在 git 中自动生成版本字符串[重复]

    这个问题在这里已经有答案了 可能的重复 为 Git 存储库启用 ident 字符串 https stackoverflow com questions 1792838 enable ident string for git repos 在我
  • UIRefreshControl在UITableView iOS6的底部?

    是否可以添加UIRefreshControl在底部UITableView 我会用它来加载更多数据 请问 有什么建议吗 我相信这个问题不会有任何简单的解决方案 也许有人可以编写一个单独的库来实现此行为 而且一旦您在表视图中缓存数据 它会导致更
  • 设置对象 nil 与release+realloc

    这不是垃圾收集环境 我有一个类实例变量 在运行时的某个时刻 我需要使用与最初构造时不同的数据集重新初始化 假设地说 如果我有一个NSMutableArray or an NSMutableDictionary 做这样的事情会更有效率吗 my
  • 在 MVC 应用程序中使用 ELMAH 调试/跟踪消息

    我们如何在 MVC 应用程序中使用 ELMAH 添加调试 跟踪消息 ELMAH 通常用于报告异常 而不是作为一般的调试 跟踪日志 对于调试 跟踪日志记录 我建议结合使用log4net https stackoverflow com ques
  • 在 Redhat 5 上运行 JavaFX 应用程序

    From my 上一个问题 https stackoverflow com questions 24420651 javafx helloworld jar cannot be ran on different platform 我知道Re
  • Azure 服务总线空闲时自动删除

    我试图找出设置 AutoDeleteOnIdle 时的正确行为 我有一个名为 MyGameMessages 的主题 不透露游戏名称 因为它可能被视为广告 我所做的是在服务器场中的每个节点上创建一个订阅 var manager GetName