/// <summary> /// using web.config or app.config connectionStrings for checker /// </summary> /// <param name="manager"></param> /// <param name="skipLocalSqlServer">skip connectionStrings named "LocalSqlServer" ,default by true</param> public static void AddAllDbConnectionHealthCheckers(this HealthCheckerManager manager, bool skipLocalSqlServer = true) { for (int i = 0; i < ConfigurationManager.ConnectionStrings.Count; i++) { var con = ConfigurationManager.ConnectionStrings[i]; if (con.Name == "LocalSqlServer" && skipLocalSqlServer) { continue; } manager.Add(new DbConnectionHealthChecker(con.Name, con.ProviderName, con.ConnectionString)); } }
/// <summary> /// add <see cref="RabbitMQHealthChecker"/> to manager /// </summary> /// <param name="manager"></param> /// <param name="name"></param> /// <param name="connectionFactory"></param> /// <returns></returns> public static HealthCheckerManager AddRabbitMQHealthChecker(this HealthCheckerManager manager, string name, IConnectionFactory connectionFactory) { manager.Add(new RabbitMQHealthChecker(name, connectionFactory)); return(manager); }
/// <summary> /// add <see cref="RedisHealthChecker"/> to <see cref="HealthCheckerManager"/> /// </summary> /// <param name="manager">instance of <see cref="HealthCheckerManager"/></param> /// <param name="name">checker name</param> /// <param name="connectionString">redis connection string</param> /// <returns><see cref="HealthCheckerManager"/></returns> public static HealthCheckerManager AddRedisHealthChecker(this HealthCheckerManager manager, string name, string connectionString) { manager.Add(new RedisHealthChecker(name, connectionString)); return(manager); }
/// <summary> /// add checker /// </summary> /// <param name="manager">instance of HealthCheckerManager</param> /// <param name="name">checker name</param> /// <param name="func">check func</param> public static void Add(this HealthCheckerManager manager, string name, Func <HealthCheckResult> func) { manager.Add(new DelegateHealthChecker { Name = name, Func = func }); }
/// <summary> /// add DbConnectionHealthChecker to manager /// </summary> /// <param name="manager">instance of HealthCheckerManager</param> /// <param name="name">checker name</param> /// <param name="factory">IDbConnection factory</param> public static void AddDbConnectionHealthChecker(this HealthCheckerManager manager, string name, Func <IDbConnection> factory) { manager.Add(new DbConnectionHealthChecker(name, factory)); }
/// <summary> /// add DbConnectionHealthChecker to manager /// </summary> /// <param name="manager">instance of HealthCheckerManager</param> /// <param name="name">checker name</param> /// <param name="factory">factory</param> /// <param name="connectionString">connectionString</param> public static void AddDbConnectionHealthChecker(this HealthCheckerManager manager, string name, DbProviderFactory factory, string connectionString) { manager.Add(new DbConnectionHealthChecker(name, factory, connectionString)); }
/// <summary> /// 设置日志记录器 /// </summary> /// <param name="manager"></param> /// <param name="logger"></param> public static void SetLogger(this HealthCheckerManager manager, ILogger <HealthCheckerManager> logger) { manager.Logger = logger; }
/// <summary> /// add <see cref="HttpHeadHealthChecker"/> /// </summary> /// <param name="manager">instance of HealthCheckerManager</param> /// <param name="name">checker name</param> /// <param name="url">http url to check</param> public static void AddHttpHeadHealthChecker(this HealthCheckerManager manager, string name, string url) { manager.Add(new HttpHeadHealthChecker(name, url)); }