手动启动,定时新增字典缓存,避免多次反射影响性能
This commit is contained in:
@@ -144,6 +144,7 @@ public class OAuthService : IDynamicApiController, ITransient
|
||||
private readonly IMHandler _imHandler;
|
||||
|
||||
private readonly BackgroundService _backgroundService; //added by ly on 20230916
|
||||
private static Dictionary<string, bool> _hostSvcRun = new();
|
||||
|
||||
|
||||
|
||||
@@ -294,11 +295,17 @@ public class OAuthService : IDynamicApiController, ITransient
|
||||
//modify by ly on 20230918 登录成功后启动定时服务
|
||||
if (!userId.IsNullOrWhiteSpace())
|
||||
{
|
||||
var isStartedProperty = _backgroundService.GetType().GetProperty("IsStarted");
|
||||
if (isStartedProperty?.GetValue(_backgroundService) is bool isStarted && !isStarted)
|
||||
if (!_hostSvcRun.TryGetValue("IsStarted", out bool isStarted))
|
||||
{
|
||||
var isStartedProperty = _backgroundService.GetType().GetProperty("IsStarted");
|
||||
isStarted = Convert.ToBoolean(isStartedProperty?.GetValue(_backgroundService));
|
||||
_hostSvcRun["IsStarted"] = isStarted;
|
||||
}
|
||||
if (!isStarted)
|
||||
{
|
||||
await _backgroundService.StartAsync(CancellationToken.None);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user