protected void WaitForDependencies(Action <DependencyCheckerBuilder> configuration) { DependencyCheckerBuilder builder = new DependencyCheckerBuilder(ServiceProvider, Options.DependencyCheckOptions); configuration(builder); DependencyChecker = builder.Build(); }
public static DependencyCheckerBuilderStage <DbContextDependencyCheck> AddEntityFramewrokDbContext <T>(this DependencyCheckerBuilder ext, string name, TimeSpan timeBeforeFail) where T : DbContext { return(new DependencyCheckerBuilderStage <DbContextDependencyCheck>( ext, ext.AddDependencyCheck( new DbContextDependencyCheck( ext.ServiceProvider.GetRequiredService <T>(), name, timeBeforeFail, ext.Options.GetCheckParameter <EFDependencyCheckOptions>(name) ?? new EFDependencyCheckOptions())))); }
public static DependencyCheckerBuilderStage <RabbitMqDependencyChecker> AddRabbitMq(this DependencyCheckerBuilder ext, string name) { return(ext.AddRabbitMq(name, TimeSpan.FromSeconds(ext.Options.CheckTimeout))); }
public static DependencyCheckerBuilderStage <RabbitMqDependencyChecker> AddRabbitMq(this DependencyCheckerBuilder ext, string name, TimeSpan timeBeforeFail) { var options = ext.Options.GetCheckParameter <RabbitMqDependencyCheckOptions>(name) ?? new RabbitMqDependencyCheckOptions(); var url = ext.ServiceProvider.GetRequiredService <IConfiguration>().GetConnectionString(options.ConnectionStringName); return(new DependencyCheckerBuilderStage <RabbitMqDependencyChecker>(ext, ext.AddDependencyCheck(new RabbitMqDependencyChecker( new ConnectionFactory() { Uri = new Uri(url) }, name, timeBeforeFail)))); }
public static DependencyCheckerBuilderStage <DistributedCacheDependencyChecker> AddDistributedCache <T>(this DependencyCheckerBuilder ext, string name, TimeSpan timeBeforeFail) where T : IDistributedCache { return(new DependencyCheckerBuilderStage <DistributedCacheDependencyChecker>(ext, ext.AddDependencyCheck(new DistributedCacheDependencyChecker(ext.ServiceProvider.GetRequiredService <T>(), name, timeBeforeFail)))); }
public static DependencyCheckerBuilderStage <DistributedCacheDependencyChecker> AddDistributedCache <T>(this DependencyCheckerBuilder ext, string name) where T : IDistributedCache { IDistributedCache cache = ext.ServiceProvider.GetRequiredService <IDistributedCache>(); if (cache is T == false) { throw new InvalidOperationException($"Check cannot be applied for cache of type \"{cache.GetType().FullName}\". Expected {typeof(T).FullName}"); } return(new DependencyCheckerBuilderStage <DistributedCacheDependencyChecker>(ext, ext.AddDependencyCheck(new DistributedCacheDependencyChecker(cache, name, TimeSpan.FromSeconds(ext.Options.CheckTimeout))))); }
public static DependencyCheckerBuilderStage <MongoDependencyChecker> AddMongodb(this DependencyCheckerBuilder ext, string name, TimeSpan timeBeforeFail) { var options = ext.Options.GetCheckParameter <MongoDependencyCheckOptions>(name) ?? new MongoDependencyCheckOptions(); var url = ext.ServiceProvider.GetRequiredService <IConfiguration>().GetConnectionString(options.ConnectionStringName); var mongoUrl = new MongoUrl(url); var mongoClientSettings = MongoClientSettings.FromUrl(mongoUrl); return(new DependencyCheckerBuilderStage <MongoDependencyChecker>(ext, ext.AddDependencyCheck(new MongoDependencyChecker( new MongoClient(mongoClientSettings), name, timeBeforeFail)))); }
public static DependencyCheckerBuilderStage <Neo4jDependencyCheck> AddNeo4jServer <T>(this DependencyCheckerBuilder ext, string name, TimeSpan timeBeforeFail) where T : DriverBuilder { return(new DependencyCheckerBuilderStage <Neo4jDependencyCheck>( ext, ext.AddDependencyCheck( new Neo4jDependencyCheck( ext.ServiceProvider.GetRequiredService <T>(), name, timeBeforeFail)))); }
public static DependencyCheckerBuilderStage <Neo4jDependencyCheck> AddNeo4jServer <T>(this DependencyCheckerBuilder ext, string name) where T : DriverBuilder { return(new DependencyCheckerBuilderStage <Neo4jDependencyCheck>( ext, ext.AddDependencyCheck( new Neo4jDependencyCheck( ext.ServiceProvider.GetRequiredService <T>(), name, TimeSpan.FromSeconds(ext.Options.CheckTimeout))))); }