public Health Health() { _logger.LogInformation("Checking MSSql connection health!"); Health result = new Health(); result.Details.Add("Database", $"MSSql: {_context.GetType().Name} "); SqlConnection _connection = null; try { _connection = _context.Database.GetDbConnection() as SqlConnection; if (_connection != null) { _connection.Open(); DbCommand cmd = new SqlCommand("SELECT 1;", _connection); var qresult = cmd.ExecuteScalar(); result.Details.Add("Result", qresult); result.Details.Add("Status", HealthStatus.UP.ToString()); result.Status = HealthStatus.UP; _logger.LogInformation($"MSSql Server {_context.GetType().Name} connection up!"); } } catch (Exception e) { _logger.LogInformation("MSSQL Server connection down!"); result.Details.Add("error", e.GetType().Name + ": " + e.Message); result.Details.Add("status", HealthStatus.DOWN.ToString()); result.Status = HealthStatus.DOWN; } finally { if (_connection != null) { _connection.Close(); } } return(result); }