在发布/发布方案中将消息发布到Azure ServiceBus主题时,我目前正在保留并重用
的实例 Microsoft.ServiceBus.Messaging.TopicClient
我已经将它的创建和使用包装在一个实现IDisposable的组件中,以便在处理时关闭TopicClient,但是我不确定维护与ServiceBus的连接的成本(如果有的话)。
这是一段时间内发送多封邮件时的最佳做法,还是应该为每封邮件创建一个新客户端?
除了线程安全部分https://msdn.microsoft.com/library/azure/microsoft.servicebus.messaging.topicclient.aspx
之外,MSDN对此没有帮助答案 0 :(得分:1)
TopicClient / QueueClient创建和保存相对便宜,因为连接由MessagingFactory维护。如果没有客户端,可以将连接断开,因此,只要您需要并且切实可行,最好保留客户端。避免建立新客户并重用现有客户是好事。
可以从多个线程使用客户端,也可以在不设置锁定的情况下同时发送/接收。这就是线程安全部门试图发送的电报。