写配置文件加锁
continuous-integration/drone/push Build is running
Details
continuous-integration/drone/push Build is running
Details
parent
f4c3f685eb
commit
fa84171da4
|
|
@ -16,7 +16,7 @@ using System.Threading.Tasks;
|
||||||
namespace IRaCIS.Core.Application.Service.Common;
|
namespace IRaCIS.Core.Application.Service.Common;
|
||||||
|
|
||||||
[ApiExplorerSettings(GroupName = "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>
|
/// <summary>
|
||||||
|
|
@ -39,6 +39,14 @@ public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostE
|
||||||
{
|
{
|
||||||
var path = $"appsettings.{_hostEnvironment.EnvironmentName}.json";
|
var path = $"appsettings.{_hostEnvironment.EnvironmentName}.json";
|
||||||
|
|
||||||
|
|
||||||
|
var @lock = _distributedLockProvider.CreateLock("WriteConfigFile");
|
||||||
|
|
||||||
|
|
||||||
|
using (await @lock.AcquireAsync())
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
string text = System.IO.File.ReadAllText(path);
|
string text = System.IO.File.ReadAllText(path);
|
||||||
|
|
||||||
// 修改
|
// 修改
|
||||||
|
|
@ -65,6 +73,7 @@ public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostE
|
||||||
// 重新写入appsettings.json
|
// 重新写入appsettings.json
|
||||||
string result = obj.ToString();
|
string result = obj.ToString();
|
||||||
System.IO.File.WriteAllText(path, result);
|
System.IO.File.WriteAllText(path, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
|
|
@ -91,6 +100,13 @@ public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostE
|
||||||
{
|
{
|
||||||
var path = $"appsettings.{_hostEnvironment.EnvironmentName}.json";
|
var path = $"appsettings.{_hostEnvironment.EnvironmentName}.json";
|
||||||
|
|
||||||
|
var @lock = _distributedLockProvider.CreateLock("WriteConfigFile");
|
||||||
|
|
||||||
|
|
||||||
|
using (await @lock.AcquireAsync())
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
string text = System.IO.File.ReadAllText(path);
|
string text = System.IO.File.ReadAllText(path);
|
||||||
|
|
||||||
// 修改
|
// 修改
|
||||||
|
|
@ -123,6 +139,7 @@ public class DeployConfigService(IMapper _mapper, IUserInfo _userInfo, IWebHostE
|
||||||
string result = obj.ToString();
|
string result = obj.ToString();
|
||||||
System.IO.File.WriteAllText(path, result);
|
System.IO.File.WriteAllText(path, result);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return ResponseOutput.Ok();
|
return ResponseOutput.Ok();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue