Jelajahi Sumber

處理雲端部屬偶發消息遺失,優化請求效率

JAELYS 2 tahun lalu
induk
melakukan
c1a79e786a
1 mengubah file dengan 5 tambahan dan 2 penghapusan
  1. 5 2
      TEAMModelOS/Controllers/OpenApi/IRS/TianboController.cs

+ 5 - 2
TEAMModelOS/Controllers/OpenApi/IRS/TianboController.cs

@@ -71,9 +71,12 @@ namespace TEAMModelOS.Controllers
 
                     if (!string.IsNullOrWhiteSpace(stu?.channel) && !string.IsNullOrWhiteSpace(stu?.userid))
                     {
+                        // 處理單例復用,提高請求效率,避免ServiceTransportType.Persistent websocket斷線在Azure偶發的消息遺失
+                        // TODO 尚須注意釋放的問題,後續須處理
                         var hub = _azureSignalR.GetServiceManager().GetHubContext($"C{stu.channel}");
-                        //var cancel = new CancellationToken();
-                        //using var hub = await serviceManager.CreateHubContextAsync($"C{stu.channel}", cancel);
+                        // 下面註解寫法會造成Azure上消息偶發遺失,Localhost不會發生
+                        //var serviceManager = _azureSignalR.GetServiceManager();                       
+                        //using var hub = await serviceManager.CreateHubContextAsync($"C{stu.channel}", CancellationToken.None);
 
                         var con = content.GetString();
                         var ans = con switch