我的应用程序中包含以下代码片段,以将消息发送到Azure服务总线主题队列。在发送消息期间,我随机得到通用的ServiceBusException。
var serialized = JsonConvert.SerializeObject(message);
var _client = new TopicClient(connectionString, $"{queuePrefix}{queueName}");
var m = new Message(Encoding.ASCII.GetBytes(serialized))
{
MessageId = messageId,
ContentType = "application/json"
};
await RetryHelper.WithRetries(async () =>
{
await _client.SendAsync(m);
}, new Common.RetryPolicy(3, TimeSpan.Zero, typeof(ServiceBusTimeoutException)));
这是我的异常消息,
服务无法处理请求;请重试该操作。有关异常类型和适当的异常处理的更多信息,请参阅http://go.microsoft.com/fwlink/?LinkId=761101 TrackingId:24e3ca8e-a74f-4f1b-a0e6-acf4e98a0bdc_G9,SystemTracker:client-link78653,时间戳:2019-01-06T01:35:50 >
Microsoft.Azure.ServiceBus.ServiceBusException
由于该异常不是本页面https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-exceptions所列出的特定内容,因此我很难理解该异常的根本原因并采取纠正措施。
我希望您有任何进一步调查的信息。
答案 0 :(得分:2)
ServiceBusException
是所有其他例外的基本例外。在代理端发生的错误将被发送回并进行翻译。在这种情况下,它不能转换为documentation中描述的最常见错误。在这种情况下,重新绑定是正确的做法,因为例外情况是间歇性的。话虽如此,没有什么要考虑的。
RetryPolicy
来重试发送操作。如果可能,您的重试应该在一些退避时间之后进行。ServerBusyException
。TrackingId
代码可用于打开支持案例以开始调查并更好地了解发生了什么。建议您与支持人员联系并提供跟踪ID,以帮助您了解为什么经常看到此错误。