コード例 #1
0
        public static IHealthBuilder AddHttpGetCheck(
            this IHealthCheckBuilder healthCheckBuilder,
            string name,
            Uri uri,
            int retries,
            TimeSpan delayBetweenRetries,
            TimeSpan timeoutPerRequest,
            HealthCheck.QuiteTime quiteTime,
            bool degradedOnError = false)
        {
            EnsureValidRetries(retries);
            EnsureValidDelayBetweenRequests(delayBetweenRetries);
            EnsureValidTimeoutPerRequest(timeoutPerRequest);

            healthCheckBuilder.AddQuiteTimeCheck(
                name,
                async cancellationToken => await ExecuteHealthCheckWithRetriesAsync(
                    uri,
                    retries,
                    delayBetweenRetries,
                    timeoutPerRequest,
                    degradedOnError,
                    cancellationToken),
                quiteTime);

            return(healthCheckBuilder.Builder);
        }
コード例 #2
0
        public static IHealthBuilder AddPingCheck(
            this IHealthCheckBuilder healthCheckBuilder,
            string name,
            string host,
            TimeSpan timeout,
            HealthCheck.QuiteTime quiteTime,
            bool degradedOnError = false)
        {
            healthCheckBuilder.AddQuiteTimeCheck(
                name,
                async() => await ExecutePingCheckAsync(host, timeout, degradedOnError),
                quiteTime);

            return(healthCheckBuilder.Builder);
        }
コード例 #3
0
        public static IHealthBuilder AddSqlQuiteTimeCheck(
            this IHealthCheckBuilder healthCheckBuilder,
            string name,
            Func <IDbConnection> newDbConnection,
            TimeSpan timeout,
            HealthCheck.QuiteTime quiteTime,
            bool degradedOnError = false)
        {
            EnsureValidTimeout(timeout);

            healthCheckBuilder.AddQuiteTimeCheck(
                name,
                cancellationToken => ExecuteSqlCheckAsync(name, newDbConnection, timeout, degradedOnError, cancellationToken),
                quiteTime);

            return(healthCheckBuilder.Builder);
        }
コード例 #4
0
        public static IHealthBuilder AddHttpGetCheck(
            this IHealthCheckBuilder healthCheckBuilder,
            string name,
            Uri uri,
            TimeSpan timeout,
            HealthCheck.QuiteTime quiteTime,
            bool degradedOnError = false)
        {
            EnsureValidTimeout(timeout);

            healthCheckBuilder.AddQuiteTimeCheck(
                name,
                async cancellationToken => await ExecuteHttpCheckNoRetriesAsync(uri, timeout, degradedOnError, cancellationToken),
                quiteTime);

            return(healthCheckBuilder.Builder);
        }
コード例 #5
0
        public static IHealthBuilder AddHttpPostCheck(
            this IHealthCheckBuilder healthCheckBuilder,
            string name,
            Uri uri,
            HttpContent content,
            TimeSpan timeout,
            HealthCheck.QuiteTime quiteTime,
            bool degradedOnError = false,
            Dictionary <string, string> requestHeaders = null)
        {
            EnsureValidTimeout(timeout);

            healthCheckBuilder.AddQuiteTimeCheck(
                name,
                async cancellationToken =>
                await ExecuteHttpCheckNoRetriesAsync(uri, content, timeout, degradedOnError, cancellationToken,
                                                     requestHeaders),
                quiteTime);

            return(healthCheckBuilder.Builder);
        }