diff --git a/src/Transports.AspNetCore/WebSockets/BaseSubscriptionServer.Observer.cs b/src/Transports.AspNetCore/WebSockets/BaseSubscriptionServer.Observer.cs index 2d3b7ab1..195368df 100644 --- a/src/Transports.AspNetCore/WebSockets/BaseSubscriptionServer.Observer.cs +++ b/src/Transports.AspNetCore/WebSockets/BaseSubscriptionServer.Observer.cs @@ -73,6 +73,8 @@ public async void OnNext(ExecutionResult value) await _server.SendDataAsync(_id, value); if (_closeAfterAnyError && value.Errors?.Count > 0) { + if (Interlocked.Exchange(ref _done, 1) == 1) + return; await _server.SendCompletedAsync(_id); } }