我在ASP.NET Core應用程序中有一個HTTP端點,它將幾條消息發送到Azure服務總線。QueueClient.CreateFromConnectionString緩存內部連接嗎?
眼下,控制器動作代碼做到這一點:
var client = QueueClient.CreateFromConnectionString(this.connectionString, entityPath);
await client.SendAsync(message);
所創建不支持Dispose
所以我不知道它的壽命應該有多長的QueueClient?我爲每個HTTP請求創建一個新的。 QueueClient的CreateFromConnectionString
方法是否緩存到服務總線的內部連接?這裏最佳的解決方案是什麼?我問,因爲在交通高峯期間我最近從服務車上收到TimeoutExceptions
。
我已經閱讀過,但我沒有直接使用MessagingFactory。相反,我使用靜態QueueClient.CreateFromConnectionString方法。這是否關閉MessagingFactory或者是否存在由靜態QueueClient類使用的單個靜態實例?這是文檔失敗的地方。也許我會使用你提供的代碼,如果沒有其他人可以清除它。 –
我還會補充一點,我只是增加了DefaultConnectionLimit,儘管我讀過的所有內容都表明它只用於HTTP調用,而ASB使用專有的TCP協議。 –