public async Task <IActionResult> Health() { logger.LogInformation($"{nameof(Health)} has been called"); try { var isHealthy = await contentPageService.PingAsync().ConfigureAwait(false); if (isHealthy) { const string message = "Document store is available"; logger.LogInformation($"{nameof(Health)} responded with: {resourceName} - {message}"); var viewModel = CreateHealthViewModel(message); return(this.NegotiateContentResult(viewModel, viewModel.HealthItems)); } logger.LogError($"{nameof(Health)}: Ping to {resourceName} has failed"); } catch (Exception ex) { logger.LogError(ex, $"{nameof(Health)}: {resourceName} exception: {ex.Message}"); } return(StatusCode((int)HttpStatusCode.ServiceUnavailable)); }