diff --git a/src/Microsoft.AspNetCore.Sockets.Http/Internal/Transports/WebSocketsTransport.cs b/src/Microsoft.AspNetCore.Sockets.Http/Internal/Transports/WebSocketsTransport.cs index 4d93111c3e..6ac1755f3e 100644 --- a/src/Microsoft.AspNetCore.Sockets.Http/Internal/Transports/WebSocketsTransport.cs +++ b/src/Microsoft.AspNetCore.Sockets.Http/Internal/Transports/WebSocketsTransport.cs @@ -51,9 +51,15 @@ namespace Microsoft.AspNetCore.Sockets.Internal.Transports { _logger.SocketOpened(_connection.ConnectionId); - await ProcessSocketAsync(ws); + try + { + await ProcessSocketAsync(ws); + } + finally + { + _logger.SocketClosed(_connection.ConnectionId); + } } - _logger.SocketClosed(_connection.ConnectionId); } public async Task ProcessSocketAsync(WebSocket socket)