gpt4 book ai didi

c# - 我可以使用 Azure 存储队列中的 Response 验证消息是否已成功发送

转载 作者:行者123 更新时间:2023-12-03 05:22:01 28 4
gpt4 key购买 nike

我正在使用 Azure 存储队列客户端发送 Base 64 编码的字符串消息。非常直接的用法。我有以下代码片段:


var options = new QueueClientOptions
{
MessageEncoding = QueueMessageEncoding.Base64
};

var _queueClient = new QueueClient(settings.Value.ConnectionString, settings.Value.Name, options);
var message = JsonConvert.SerializeObject(messageObject, jsonSetting);

_queueClient.SendMessageAsync(message);

我知道SendMessageAsync( . . .)返回Response<SendReceipt>如何使用它来验证消息是否发送成功? SendReceiptMessageIdInsetionTime属性,但文档没有指定如果未发送消息,这些属性会发生什么情况。队列是否只是返回空收据或具有默认值的对象?

最佳答案

当您尝试使用 SendMessageAsync 向队列发送消息时如果由于某种原因未发送消息,则会引发异常。您不会在 Response<SendReceipt> 中收到任何内容.

您需要包装您的 await _queueClient.SendMessageAsync(message);在 try/catch block 中。如果没有引发异常,则意味着消息发送成功。

关于c# - 我可以使用 Azure 存储队列中的 Response<SendReceipt> 验证消息是否已成功发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71441777/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com