检查 TopicClient 是否正常工作
Check that TopicClient will work without error
我正在编写 C# 代码,它将向 Azure ServiceBus 发送一条消息(为清楚起见进行了简化):
private ITopicClient topicClient
= new TopicClient(configuration["ServiceBusEndpoint"], configuration["ServiceBusTopic"]);
// test here
await topicClient.SendAsync(messageToSend.ToString());
如果可能的话,我想做的是进行某种 test/check SendAsync()
方法 可能 有一个好的在我调用它之前有机会成功,而不是在它没有时捕获任何和所有异常。
也就是说,存在到 ServiceBus 的有效、打开的连接,并且它已准备好接受消息。
我无法从网上阅读的各种文档中找到有关如何执行此操作的任何信息...
有没有其他人遇到过这种情况?谢谢
虽然有 属性 IsClosedOrClosing
您可以阅读以验证连接是否仍然存在,但它不会消除处理异常的需要。
连接可能会在中途中断。或者你可能会被扼杀。或者可能存在导致超时的网络故障。或者它可能是一个暂时性错误,您的代码需要重试。有 plenty of exceptions 可能发生,您需要处理这些。
通常,您想查看异常并确定重试是否有帮助(错误是暂时的)。虽然客户端内置了重试策略,但有时这还不够。尤其是在使用可能会受到限制的标准层时。
我正在编写 C# 代码,它将向 Azure ServiceBus 发送一条消息(为清楚起见进行了简化):
private ITopicClient topicClient
= new TopicClient(configuration["ServiceBusEndpoint"], configuration["ServiceBusTopic"]);
// test here
await topicClient.SendAsync(messageToSend.ToString());
如果可能的话,我想做的是进行某种 test/check SendAsync()
方法 可能 有一个好的在我调用它之前有机会成功,而不是在它没有时捕获任何和所有异常。
也就是说,存在到 ServiceBus 的有效、打开的连接,并且它已准备好接受消息。
我无法从网上阅读的各种文档中找到有关如何执行此操作的任何信息...
有没有其他人遇到过这种情况?谢谢
虽然有 属性 IsClosedOrClosing
您可以阅读以验证连接是否仍然存在,但它不会消除处理异常的需要。
连接可能会在中途中断。或者你可能会被扼杀。或者可能存在导致超时的网络故障。或者它可能是一个暂时性错误,您的代码需要重试。有 plenty of exceptions 可能发生,您需要处理这些。
通常,您想查看异常并确定重试是否有帮助(错误是暂时的)。虽然客户端内置了重试策略,但有时这还不够。尤其是在使用可能会受到限制的标准层时。