Pārlūkot izejas kodu

添加 close 和dispose

CrazyIter_Bin 3 gadi atpakaļ
vecāks
revīzija
6b75558a4e

+ 29 - 4
TEAMModelOS.SDK/DI/AzureServiceBus/AzureServiceBusExtensions.cs

@@ -28,6 +28,11 @@ namespace TEAMModelOS.SDK.DI
             {
                 ServiceBusSender sender = client.CreateSender(pathName);
                 await sender.SendMessageAsync(message);
+                if (!sender.IsClosed)
+                {
+                    await sender.CloseAsync();
+                    await sender.DisposeAsync();
+                }
             }
             catch
             {
@@ -52,6 +57,11 @@ namespace TEAMModelOS.SDK.DI
                     if (!messageBatch.TryAddMessage(msg)) return false;
                 }
                 await sender.SendMessagesAsync(messageBatch);
+                if (!sender.IsClosed)
+                {
+                    await sender.CloseAsync();
+                    await sender.DisposeAsync();
+                }
                 return true;
             }
             catch
@@ -71,7 +81,12 @@ namespace TEAMModelOS.SDK.DI
             try
             {
                 ServiceBusSender sender = client.CreateSender(pathName);
-                return await sender.ScheduleMessageAsync(message, scheduleTime);
+                long num= await sender.ScheduleMessageAsync(message, scheduleTime);
+                if (!sender.IsClosed) {
+                    await sender.CloseAsync();
+                    await sender.DisposeAsync();
+                }
+                return num;
             }
             catch
             {
@@ -95,7 +110,13 @@ namespace TEAMModelOS.SDK.DI
                 {
                     msgs.Add(msg);
                 }
-                return await sender.ScheduleMessagesAsync(msgs, scheduleTime);
+                var nums= await sender.ScheduleMessagesAsync(msgs, scheduleTime);
+                if (!sender.IsClosed)
+                {
+                    await sender.CloseAsync();
+                    await sender.DisposeAsync();
+                }
+                return nums;
             }
             catch
             {
@@ -134,6 +155,7 @@ namespace TEAMModelOS.SDK.DI
             string messageBody = $"Message {dict}";
 
             long SequenceNumber = await client.SendScheduleMessageAsync(TopicName, new ServiceBusMessage(dict.ToJsonString()), timer);
+
             return SequenceNumber;
         }
 
@@ -143,13 +165,16 @@ namespace TEAMModelOS.SDK.DI
             {
                 ServiceBusSender sender = client.CreateSender(TopicName);
                 await sender.CancelScheduledMessageAsync(number);
+                if (!sender.IsClosed)
+                {
+                    await sender.CloseAsync();
+                    await sender.DisposeAsync();
+                }
             }
             catch
             {
                 throw;
             }
-
-
         }
     }
 }