Пример #1
0
        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))));
        }
Пример #5
0
 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))));
 }
Пример #6
0
        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)))));
 }