Add some fixes in cache settings
This commit is contained in:
		| @@ -4,6 +4,7 @@ using Microsoft.Extensions.Configuration; | ||||
| using Microsoft.Extensions.DependencyInjection; | ||||
| using Microsoft.Extensions.Options; | ||||
| using MongoDB.Driver; | ||||
| using static MongoDB.Driver.WriteConcern; | ||||
|  | ||||
| namespace Core.Blueprint.DAL.Mongo.Configuration | ||||
| { | ||||
| @@ -22,14 +23,19 @@ namespace Core.Blueprint.DAL.Mongo.Configuration | ||||
|         /// <returns>The updated <see cref="IServiceCollection"/> with MongoDB services registered.</returns> | ||||
|         public static IServiceCollection AddMongoLayer(this IServiceCollection services, IConfiguration configuration) | ||||
|         { | ||||
|             string text = "Local"; | ||||
|             var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? string.Empty; | ||||
|              | ||||
|             services.AddSingleton<IMongoContext, MongoContext>(); | ||||
|             string ConnectionString = configuration.GetSection("ConnectionStrings:MongoDB").Value ?? string.Empty; | ||||
|             string Databasename = configuration.GetSection("MongoDb:DatabaseName").Value ?? string.Empty; | ||||
|             string Audience = text == "Local" | ||||
|                 ? configuration.GetSection("MongoDb:LocalAudience").Value | ||||
|                 : configuration.GetSection("MongoDb:Audience").Value; | ||||
|             if (string.IsNullOrEmpty(ConnectionString) || string.IsNullOrEmpty(Databasename) || string.IsNullOrEmpty(Audience)) | ||||
|             string Audience = string.Empty; | ||||
|  | ||||
|             if (!environment.Equals("Local", StringComparison.OrdinalIgnoreCase)) | ||||
|             { | ||||
|                 Audience = configuration.GetSection("MongoDb:Audience").Value ?? string.Empty; | ||||
|             } | ||||
|  | ||||
|             if (string.IsNullOrEmpty(ConnectionString) || string.IsNullOrEmpty(Databasename)) | ||||
|             { | ||||
|                 throw new InvalidOperationException("Mongo connection is not configured correctly."); | ||||
|             } | ||||
| @@ -38,13 +44,22 @@ namespace Core.Blueprint.DAL.Mongo.Configuration | ||||
|             { | ||||
|                 options.ConnectionString = ConnectionString; | ||||
|                 options.Databasename = Databasename; | ||||
|                 options.Audience = Audience; | ||||
|  | ||||
|                 if (!environment.Equals("Local", StringComparison.OrdinalIgnoreCase)) | ||||
|                 { | ||||
|                     options.Audience = Audience; | ||||
|                 } | ||||
|             }); | ||||
|             services.AddSingleton((Func<IServiceProvider, IMongoClient>)delegate (IServiceProvider serviceProvider) | ||||
|             { | ||||
|                 MongoDbSettings value2 = serviceProvider.GetRequiredService<IOptions<MongoDbSettings>>().Value; | ||||
|                 MongoClientSettings mongoClientSettings = MongoClientSettings.FromConnectionString(value2.ConnectionString); | ||||
|                 //mongoClientSettings.Credential = MongoCredential.CreateOidcCredential(new AzureIdentityProvider(value2.Audience)); | ||||
|  | ||||
|                 if (!environment.Equals("Local", StringComparison.OrdinalIgnoreCase))  | ||||
|                 { | ||||
|                     mongoClientSettings.Credential = MongoCredential.CreateOidcCredential(new AzureIdentityProvider(value2.Audience)); | ||||
|                 } | ||||
|                      | ||||
|                 return new MongoClient(mongoClientSettings); | ||||
|             }); | ||||
|             services.AddSingleton(delegate (IServiceProvider serviceProvider) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Oscar Morales
					Oscar Morales