diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs b/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs index a67fa133df..98583d9903 100644 --- a/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs +++ b/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs @@ -502,6 +502,7 @@ namespace Microsoft.AspNetCore.SignalR { if (!_receivedMessageThisInterval) { + Log.ClientTimeout(_logger, TimeSpan.FromTicks(_clientTimeoutInterval)); Abort(); } @@ -560,6 +561,9 @@ namespace Microsoft.AspNetCore.SignalR private static readonly Action _abortFailed = LoggerMessage.Define(LogLevel.Trace, new EventId(8, "AbortFailed"), "Abort callback failed."); + private static readonly Action _clientTimeout = + LoggerMessage.Define(LogLevel.Debug, new EventId(9, "ClientTimeout"), "Client timeout ({ClientTimeout}ms) elapsed without receiving a message from the client. Closing connection."); + public static void HandshakeComplete(ILogger logger, string hubProtocol) { _handshakeComplete(logger, hubProtocol, null); @@ -599,6 +603,11 @@ namespace Microsoft.AspNetCore.SignalR { _abortFailed(logger, exception); } + + public static void ClientTimeout(ILogger logger, TimeSpan timeout) + { + _clientTimeout(logger, (int)timeout.TotalMilliseconds, null); + } } } }