Exemplo n.º 1
0
        public static IChronicleBuilder UseMongoPersistence(this IChronicleBuilder builder, ChronicleMongoSettings settings)
        {
            return(builder.UseMongoPersistence(GetDatabase));

            IMongoDatabase GetDatabase(IServiceProvider serviceProvider)
            => new MongoClient(settings.ConnectionString).GetDatabase(settings.Database);
        }
Exemplo n.º 2
0
        public static IChronicleBuilder UseMongoPersistence(this IChronicleBuilder builder, string appSettingsSection)
        {
            return(builder.UseMongoPersistence(GetDatabase));

            IMongoDatabase GetDatabase(IServiceProvider serviceProvider)
            {
                var configuration = serviceProvider.GetService <IConfiguration>();

                try
                {
                    var settings = JsonConvert.DeserializeObject <ChronicleMongoSettings>(configuration.GetSection(appSettingsSection)?.Value);
                    var database = new MongoClient(settings.ConnectionString).GetDatabase(settings.Database);

                    return(database);
                }
                catch
                {
                    throw new ChronicleException(DeserializationError);
                }
            }
        }