public void HeartBeat(IChannelHandlerContext context) { var heartBeatTime = Convert.ToInt32(_configuration["HeartBeatTime"]); var lastReadTime = context.GetReaderTime(); var now = DateTime.Now; if (lastReadTime != null && (now - lastReadTime).Value.Seconds > heartBeatTime) { _logger.LogInformation($"[{context.GetUserId()}]心跳超时"); context.CloseAsync(); } }