Browse Source

.NetCore版本增加获取IConfiguration类:CoreConfig

懒得勤快 7 năm trước cách đây
mục cha
commit
5ec33d2381

+ 9 - 0
Masuit.Tools.Core/Config/CoreConfig.cs

@@ -0,0 +1,9 @@
+using Microsoft.Extensions.Configuration;
+
+namespace Masuit.Tools.Core.Config
+{
+    public class CoreConfig
+    {
+        public static IConfiguration Configuration { get; set; }
+    }
+}

+ 1 - 1
Masuit.Tools.Core/Masuit.Tools.Core.csproj

@@ -2,7 +2,7 @@
 
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
-    <Version>1.8.2</Version>
+    <Version>1.8.3</Version>
     <Authors>懒得勤快</Authors>
     <Company>masuit.com</Company>
     <Description>包含一些常用的操作类,大都是静态类,加密解密,反射操作,硬件信息,字符串扩展方法,日期时间扩展操作,大文件拷贝,图像裁剪,html处理,验证码、NoSql等常用封装。

+ 11 - 4
Masuit.Tools.Core/Net/WebExtension.cs

@@ -1,10 +1,10 @@
 using System;
 using System.Collections.Generic;
 using System.Net.Http;
+using Masuit.Tools.Core.Config;
 using Masuit.Tools.Logging;
 using Masuit.Tools.Models;
 using Masuit.Tools.Net;
-using Microsoft.Extensions.Configuration;
 using Newtonsoft.Json;
 
 namespace Masuit.Tools.Core.Net
@@ -37,7 +37,6 @@ namespace Masuit.Tools.Core.Net
 
         #region 获取客户端IP地址信息
 
-        private static IConfigurationRoot config = new ConfigurationBuilder().AddJsonFile("appsettings.json", true).Build();
         /// <summary>
         /// 根据IP地址获取详细地理信息
         /// </summary>
@@ -48,7 +47,11 @@ namespace Masuit.Tools.Core.Net
             ip.MatchInetAddress(out var isIpAddress);
             if (isIpAddress)
             {
-                string ak = config["AppSettings:BaiduAK"];
+                if (CoreConfig.Configuration is null)
+                {
+                    throw new Exception("未注入IConfiguration,请先在Startup.cs的构造函数中为Masuit.Tools.Core.Config.CoreConfig.Configuration赋值");
+                }
+                string ak = CoreConfig.Configuration["AppSettings:BaiduAK"];
                 if (string.IsNullOrEmpty(ak))
                 {
                     throw new Exception("未配置BaiduAK,请先在您的应用程序appsettings.json中的AppSettings节点下添加BaiduAK配置节(注意大小写)");
@@ -105,7 +108,11 @@ namespace Masuit.Tools.Core.Net
             ip.MatchInetAddress(out var isIpAddress);
             if (isIpAddress)
             {
-                string ak = config["AppSettings:BaiduAK"];
+                if (CoreConfig.Configuration is null)
+                {
+                    throw new Exception("未注入IConfiguration,请先在Startup.cs的构造函数中为Masuit.Tools.Core.Config.CoreConfig.Configuration赋值");
+                }
+                string ak = CoreConfig.Configuration["AppSettings:BaiduAK"];
                 if (string.IsNullOrEmpty(ak))
                 {
                     throw new Exception("未配置BaiduAK,请先在您的应用程序appsettings.json中的AppSettings节点下添加BaiduAK配置节(注意大小写)");

+ 5 - 7
Masuit.Tools.Core/NoSQL/RedisConnectionHelp.cs

@@ -2,7 +2,7 @@
 using System.Collections.Concurrent;
 using StackExchange.Redis;
 
-namespace Masuit.Tools.NoSQL
+namespace Masuit.Tools.Core.NoSQL
 {
     /// <summary>
     /// ConnectionMultiplexer对象管理帮助类
@@ -25,14 +25,12 @@ namespace Masuit.Tools.NoSQL
         {
             get
             {
-                if (_instance == null)
+                if (_instance != null) return _instance;
+                lock (Locker)
                 {
-                    lock (Locker)
+                    if (_instance == null || !_instance.IsConnected)
                     {
-                        if (_instance == null || !_instance.IsConnected)
-                        {
-                            _instance = GetManager();
-                        }
+                        _instance = GetManager();
                     }
                 }
                 return _instance;

+ 1 - 1
Masuit.Tools.Core/NoSQL/RedisHelper.cs

@@ -5,7 +5,7 @@ using System.Threading.Tasks;
 using Newtonsoft.Json;
 using StackExchange.Redis;
 
-namespace Masuit.Tools.NoSQL
+namespace Masuit.Tools.Core.NoSQL
 {
     /// <summary>
     /// Redis操作

+ 3 - 3
Masuit.Tools.sln

@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 15
-VisualStudioVersion = 15.0.27004.2009
+VisualStudioVersion = 15.0.27130.2010
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Masuit.Tools", "Masuit.Tools\Masuit.Tools.csproj", "{275D5A0D-C49C-497E-A4B5-F40285C2495F}"
 EndProject
@@ -9,9 +9,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj",
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Masuit.Tools.NoSQL.MongoDBClient", "Masuit.Tools.NoSQL.MongoDBClient\Masuit.Tools.NoSQL.MongoDBClient.csproj", "{1D45BDC4-74C4-4356-8B93-7F7A09106BB8}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Masuit.Tools.Core", "Masuit.Tools.Core\Masuit.Tools.Core.csproj", "{149E6872-CE95-493B-B136-535E64C65A49}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Masuit.Tools.Core", "Masuit.Tools.Core\Masuit.Tools.Core.csproj", "{149E6872-CE95-493B-B136-535E64C65A49}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Masuit.Tools.NoSQL.MongoDBClient.Core", "Masuit.Tools.NoSQL.MongoDBClient.Core\Masuit.Tools.NoSQL.MongoDBClient.Core.csproj", "{85EEA76D-CDAB-44CB-A08C-A49FDBA4659D}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Masuit.Tools.NoSQL.MongoDBClient.Core", "Masuit.Tools.NoSQL.MongoDBClient.Core\Masuit.Tools.NoSQL.MongoDBClient.Core.csproj", "{85EEA76D-CDAB-44CB-A08C-A49FDBA4659D}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution