From fbb4ec6a15a394f72e6961c7b7f4750cee01b64d Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 1 Aug 2019 11:03:04 +0800 Subject: [PATCH] Resolve #1534 Modify the way mongodb connection string parsing. --- .../MongoDB/UnitOfWorkMongoDbContextProvider.cs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs index e36640de27..0d527efc4c 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs @@ -1,4 +1,5 @@ -using Microsoft.Extensions.DependencyInjection; +using System; +using Microsoft.Extensions.DependencyInjection; using MongoDB.Driver; using Volo.Abp.Data; using Volo.Abp.MongoDB; @@ -30,14 +31,9 @@ namespace Volo.Abp.Uow.MongoDB var connectionString = _connectionStringResolver.Resolve(); var dbContextKey = $"{typeof(TMongoDbContext).FullName}_{connectionString}"; - string databaseName; - if (connectionString.Contains("|")) - { - var splitted = connectionString.Split('|'); - connectionString = splitted[0]; - databaseName = splitted[1]; - } - else + var mongoUrl = new MongoUrl(connectionString); + var databaseName = mongoUrl.DatabaseName; + if (databaseName.IsNullOrWhiteSpace()) { databaseName = ConnectionStringNameAttribute.GetConnStringName(); } @@ -47,7 +43,7 @@ namespace Volo.Abp.Uow.MongoDB dbContextKey, () => { - var database = new MongoClient(connectionString).GetDatabase(databaseName); + var database = new MongoClient(mongoUrl).GetDatabase(databaseName); var dbContext = unitOfWork.ServiceProvider.GetRequiredService();