// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); var dbSetting = new MongoClientOptions(); Configuration.GetSection(nameof(MongoClientOptions)).Bind(dbSetting); IOC ioc = new IOC(); ioc.RegisterServices(services, dbSetting); }
public void RegisterServices(IServiceCollection services, MongoClientOptions mongoSetting) { services.AddSingleton <MongoDatabase>(sp => { return(new MongoDatabase(new MongoDB.Driver.MongoClientSettings { Server = new MongoDB.Driver.MongoServerAddress(mongoSetting.Host, mongoSetting.Port), ApplicationName = mongoSetting.DatabaseName })); }); services.AddScoped(typeof(IGenericRepostory <>), typeof(GenericRepostory <>)); services.AddScoped <IStoreService, StoreService>(); services.AddScoped <IMenuService, MenuService>(); services.AddScoped <InitData>(); }
public LibraryDbContext(MongoClientOptions Options, ILogger <LibraryDbContext> logger) { MongoClientSettings settings = MongoClientSettings.FromUrl(new MongoUrl(Options.ConnectionString)); //settings.SslSettings = new SslSettings() { EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12 }; var client = new MongoClient(settings); MongoClient = client; Database = client.GetDatabase(Options.DataBaseName); this.logger = logger; if (Database is null) { logger.LogInformation("Failed to connect to mongo database"); } else { logger.LogInformation("Mongo connection established from docker"); } }