public static void AddMongoDBContext(this IServiceCollection services, Action <MongoDbOptions> options = null)
        {
            var opt = new MongoDbOptions();

            options?.Invoke(opt);

            var settings = MongoClientSettings.FromConnectionString(opt.ConnectionString);

            settings.MaxConnectionIdleTime = TimeSpan.FromMinutes(opt.MaxIdleTime);
            settings.MaxConnectionLifeTime = TimeSpan.FromMinutes(opt.MaxLifeTime);
            settings.RetryWrites           = true;

            var client = new MongoClient(settings);

            services.TryAddSingleton(client);

            services.TryAddSingleton(opt);
            services.TryAddSingleton <MongoDBContext>();
        }
Example #2
0
 public MongoDBContext(MongoClient client, MongoDbOptions options)
 {
     this.Client  = client;
     this.Options = options;
     Database     = Client.GetDatabase(options.DatabaseName);
 }