|
28 | 28 | using System.Runtime.InteropServices; |
29 | 29 | using System.Text.Json; |
30 | 30 | using System.Text.RegularExpressions; |
| 31 | +using System.Threading.Tasks; |
31 | 32 | using CSRedis; |
32 | 33 | using FreeSql; |
33 | 34 | using LiteDB; |
@@ -1887,8 +1888,31 @@ public async Task<Result> SettingEdit([FromBody] Setting setting) |
1887 | 1888 | } |
1888 | 1889 | } |
1889 | 1890 |
|
| 1891 | + // 如果启用了 redis 则验证 |
| 1892 | + // 先验证 redis |
| 1893 | + if (setting.IsValidRedis) |
| 1894 | + { |
| 1895 | + try |
| 1896 | + { |
| 1897 | + var csredis = new CSRedisClient(setting.RedisConnectionString); |
| 1898 | + if (!csredis.Ping()) |
| 1899 | + { |
| 1900 | + return Result.Fail("Redis 连接失败,请检查连接字符串是否正确"); |
| 1901 | + } |
| 1902 | + } |
| 1903 | + catch (Exception ex) |
| 1904 | + { |
| 1905 | + Log.Error(ex, "Redis 连接失败"); |
| 1906 | + return Result.Fail("Redis 连接失败,请检查连接字符串是否正确"); |
| 1907 | + } |
| 1908 | + } |
| 1909 | + else |
| 1910 | + { |
| 1911 | + return Result.Fail("必须配置 Redis 模式"); |
| 1912 | + } |
| 1913 | + |
1890 | 1914 | // 数据库验证 |
1891 | | - var dbSuccess = FreeSqlHelper.Verify(setting.DatabaseType, setting.DatabaseConnectionString); |
| 1915 | + var dbSuccess = await FreeSqlHelper.Verify(setting.DatabaseType, setting.DatabaseConnectionString); |
1892 | 1916 | if (!dbSuccess) |
1893 | 1917 | { |
1894 | 1918 | return Result.Fail("数据库连接失败,请检查连接字符串/名称是否正确"); |
@@ -1924,27 +1948,6 @@ public async Task<Result> SettingEdit([FromBody] Setting setting) |
1924 | 1948 | } |
1925 | 1949 | } |
1926 | 1950 |
|
1927 | | - // 如果启用了 redis 则验证 |
1928 | | - if (setting.IsValidRedis) |
1929 | | - { |
1930 | | - try |
1931 | | - { |
1932 | | - var csredis = new CSRedisClient(setting.RedisConnectionString); |
1933 | | - if (!csredis.Ping()) |
1934 | | - { |
1935 | | - return Result.Fail("Redis 连接失败,请检查连接字符串是否正确"); |
1936 | | - } |
1937 | | - } |
1938 | | - catch (Exception ex) |
1939 | | - { |
1940 | | - Log.Error(ex, "Redis 连接失败"); |
1941 | | - return Result.Fail("Redis 连接失败,请检查连接字符串是否正确"); |
1942 | | - } |
1943 | | - } |
1944 | | - else |
1945 | | - { |
1946 | | - return Result.Fail("必须配置 Redis 模式"); |
1947 | | - } |
1948 | 1951 |
|
1949 | 1952 | // 如果启用了风控验证 |
1950 | 1953 | if (setting.EnableRiskControlAutoCaptcha) |
@@ -2024,7 +2027,7 @@ public Result CancelUpdate() |
2024 | 2027 | /// <param name="request"></param> |
2025 | 2028 | /// <returns></returns> |
2026 | 2029 | [HttpPost("validate-database-connection")] |
2027 | | - public Result ValidateDatabaseConnection([FromBody] ValidateDatabaseRequest request) |
| 2030 | + public async Task<Result> ValidateDatabaseConnection([FromBody] ValidateDatabaseRequest request) |
2028 | 2031 | { |
2029 | 2032 | if (_isAnonymous) |
2030 | 2033 | { |
@@ -2062,7 +2065,7 @@ public Result ValidateDatabaseConnection([FromBody] ValidateDatabaseRequest requ |
2062 | 2065 | // } |
2063 | 2066 | //} |
2064 | 2067 |
|
2065 | | - var success = FreeSqlHelper.Verify(request.DatabaseType!.Value, request.DatabaseConnectionString); |
| 2068 | + var success = await FreeSqlHelper.Verify(request.DatabaseType!.Value, request.DatabaseConnectionString); |
2066 | 2069 | if (success) |
2067 | 2070 | { |
2068 | 2071 | return Result.Ok(); |
|
0 commit comments