diff --git a/src/SignalR/common/Shared/AsyncEnumerableAdapters.cs b/src/SignalR/common/Shared/AsyncEnumerableAdapters.cs index 6ebd1dcb25..d997233e43 100644 --- a/src/SignalR/common/Shared/AsyncEnumerableAdapters.cs +++ b/src/SignalR/common/Shared/AsyncEnumerableAdapters.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Diagnostics; +using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Channels; using System.Threading.Tasks; @@ -23,7 +24,7 @@ namespace Microsoft.AspNetCore.SignalR.Internal return new CancelableTypedAsyncEnumerable(asyncEnumerable, cts); } - public static async IAsyncEnumerable MakeAsyncEnumerableFromChannel(ChannelReader channel, CancellationToken cancellationToken = default) + public static async IAsyncEnumerable MakeAsyncEnumerableFromChannel(ChannelReader channel, [EnumeratorCancellation] CancellationToken cancellationToken = default) { await foreach (var item in channel.ReadAllAsync(cancellationToken)) { diff --git a/src/SignalR/server/SignalR/test/HubConnectionHandlerTestUtils/Hubs.cs b/src/SignalR/server/SignalR/test/HubConnectionHandlerTestUtils/Hubs.cs index 68d02497de..f99cb6c76e 100644 --- a/src/SignalR/server/SignalR/test/HubConnectionHandlerTestUtils/Hubs.cs +++ b/src/SignalR/server/SignalR/test/HubConnectionHandlerTestUtils/Hubs.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Runtime.CompilerServices; using System.Text; using System.Threading; using System.Threading.Channels; @@ -851,7 +852,7 @@ namespace Microsoft.AspNetCore.SignalR.Tests return channel.Reader; } - public async IAsyncEnumerable CancelableStreamGeneratedAsyncEnumerable(CancellationToken token) + public async IAsyncEnumerable CancelableStreamGeneratedAsyncEnumerable([EnumeratorCancellation] CancellationToken token) { _tcsService.StartedMethod.SetResult(null); await token.WaitForCancellationAsync();