diff --git a/src/middleware/BootstrapBlazor.Middleware/BootstrapBlazor.Middleware.csproj b/src/middleware/BootstrapBlazor.Middleware/BootstrapBlazor.Middleware.csproj index 70a3fc23..695aa6bf 100644 --- a/src/middleware/BootstrapBlazor.Middleware/BootstrapBlazor.Middleware.csproj +++ b/src/middleware/BootstrapBlazor.Middleware/BootstrapBlazor.Middleware.csproj @@ -1,7 +1,7 @@ - 11.0.0-rc.3.3 + 11.0.0-rc.3.4 diff --git a/src/middleware/BootstrapBlazor.Middleware/ConnectionSnapshot.cs b/src/middleware/BootstrapBlazor.Middleware/ConnectionSnapshot.cs deleted file mode 100644 index bb587709..00000000 --- a/src/middleware/BootstrapBlazor.Middleware/ConnectionSnapshot.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. -// Licensed under the Apache License, Version 2.0. - -namespace BootstrapBlazor.Components; - -/// -/// SignalR 连接快照及服务端计算的在线连接数量 -/// SignalR connection snapshot and the online connection count computed by the server -/// -public sealed record ConnectionSnapshot(long Count, ICollection Connections); diff --git a/src/middleware/BootstrapBlazor.Middleware/DefaultDispatchService.cs b/src/middleware/BootstrapBlazor.Middleware/DefaultDispatchService.cs index eda6ef70..450c7e0c 100644 --- a/src/middleware/BootstrapBlazor.Middleware/DefaultDispatchService.cs +++ b/src/middleware/BootstrapBlazor.Middleware/DefaultDispatchService.cs @@ -50,6 +50,7 @@ internal async Task DispatchAsync(DispatchEntry entry, string? excludedC Task callbackTask; lock (_locker) { + cancellationToken.ThrowIfCancellationRequested(); if (!_subscriptions.Contains(subscription)) { continue; @@ -59,7 +60,8 @@ internal async Task DispatchAsync(DispatchEntry entry, string? excludedC callbackTask = subscription.Callback(entry); } - await callbackTask; + await callbackTask.WaitAsync(cancellationToken); + cancellationToken.ThrowIfCancellationRequested(); } catch (Exception ex) when (!cancellationToken.IsCancellationRequested) {