コード例 #1
0
        public void Process(HealthCheckPipelineArgs args)
        {
            using (var connection = new SqlConnection(_connectionString))
            {
                try
                {
                    _watch.Restart();

                    connection.Open();

                    using (var command = connection.CreateCommand())
                    {
                        command.CommandTimeout = _commandTimeout;
                        command.CommandText    = "SELECT 1";
                        command.ExecuteScalar();
                    }

                    args.AddMessage($"{_name} OK ({_watch.ElapsedMilliseconds}ms)", PipelineMessageType.Information);
                }
                catch (Exception ex) when(ex is InvalidOperationException || ex is SqlException || ex is ConfigurationErrorsException)
                {
                    args.AddMessage($"{_name} failed ({_watch.ElapsedMilliseconds}ms)", PipelineMessageType.Error);
                }
                finally
                {
                    _watch.Stop();
                }
            }
        }
コード例 #2
0
        public void Process(HealthCheckPipelineArgs args)
        {
            var request = (HttpWebRequest)WebRequest.Create(_uri);

            request.Timeout           = _timeoutMilliseconds;
            request.Method            = _method;
            request.AllowAutoRedirect = true;

            try
            {
                _watch.Restart();

                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    var statusCode = response.StatusCode;

                    if (statusCode == _expectedStatusCode)
                    {
                        args.AddMessage($"{_name} OK ({_watch.ElapsedMilliseconds}ms)", PipelineMessageType.Information);
                    }
                    else
                    {
                        args.AddMessage($"{_name} failed ({_watch.ElapsedMilliseconds}ms), status code was {statusCode}", PipelineMessageType.Error);
                    }
                }
            }
            catch
            {
                args.AddMessage($"{_name} failed ({_watch.ElapsedMilliseconds}ms)", PipelineMessageType.Error);
            }
            finally
            {
                _watch.Stop();
            }
        }
コード例 #3
0
 public void Process(HealthCheckPipelineArgs args)
 {
     args.AddMessage("OK", PipelineMessageType.Information);
 }