如果我不在 Azure 服务总线中调用 IMessageSession 的 CloseAsync 和 CompleteAsync 方法,会发生什么情况?

What happens if I do not call CloseAsync and CompleteAsync method of IMessageSession in azure service bus?

IMessageSession 有 CloseAsync 和 CompleteAsync 方法。

如果不调用 CloseAsync 和 CompleteAsync(在获取会话和处理消息之后),对客户端和 Azure 服务总线帐户有何影响?

消息未成功从队列中删除,默认最大投递次数(重试)为 10。因此您的接收者可能会收到消息 10 次,然后将其放入死信队列(取决于配置)它将保留 14 天(默认设置)

更多详情:https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dead-letter-queues

批准的答案不正确。 TTL 适用于 Active Queue,不适用于 Dead-letter Queue。 其次,答案是特定于实现的,不一定需要使用 RegisterMessageHandler,而是可以使用 MessageReceiver 和其他东西。 基本上,CompleteAsync 用于从队列中删除锁定的消息(也可以是 DLQ),CloseAsync 用于关闭连接对象。