写配置文件加锁
continuous-integration/drone/push Build is running Details

Uat_IRC_Net10
hang 2026-07-06 11:31:35 +08:00
parent f4c3f685eb
commit fa84171da4
1 changed files with 67 additions and 50 deletions

View File

@ -16,7 +16,7 @@ using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Common;
[ApiExplorerSettings(GroupName = "Common")]
public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostEnvironment _hostEnvironment, IStringLocalizer _localizer, IFusionCache _fusionCache) : BaseService
public class DeployConfigService(IMapper _mapper, IDistributedLockProvider _distributedLockProvider, IUserInfo _userInfo, IWebHostEnvironment _hostEnvironment, IStringLocalizer _localizer, IFusionCache _fusionCache) : BaseService
{
/// <summary>
@ -39,6 +39,14 @@ public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostE
{
var path = $"appsettings.{_hostEnvironment.EnvironmentName}.json";
var @lock = _distributedLockProvider.CreateLock("WriteConfigFile");
using (await @lock.AcquireAsync())
{
string text = System.IO.File.ReadAllText(path);
// 修改
@ -65,6 +73,7 @@ public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostE
// 重新写入appsettings.json
string result = obj.ToString();
System.IO.File.WriteAllText(path, result);
}
return ResponseOutput.Ok();
@ -91,6 +100,13 @@ public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostE
{
var path = $"appsettings.{_hostEnvironment.EnvironmentName}.json";
var @lock = _distributedLockProvider.CreateLock("WriteConfigFile");
using (await @lock.AcquireAsync())
{
string text = System.IO.File.ReadAllText(path);
// 修改
@ -123,6 +139,7 @@ public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostE
string result = obj.ToString();
System.IO.File.WriteAllText(path, result);
}
return ResponseOutput.Ok();
}