Skip to content

Commit 6f9ec90

Browse files
authored
Merge pull request #212 from dotnetcore/dev
Fixbug: when node is not adminconsole then the env list will not be init. This bug will effect env parameter on URL bind to a c# class in some action.
2 parents 3be6210 + c8b30f5 commit 6f9ec90

File tree

4 files changed

+13
-5
lines changed

4 files changed

+13
-5
lines changed

src/AgileConfig.Server.Apisite/Controllers/api/ConfigController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public async Task<ActionResult<List<ApiConfigVM>>> GetAppConfig(string appId, [F
8888
/// <returns></returns>
8989
[TypeFilter(typeof(AdmBasicAuthenticationAttribute))]
9090
[HttpGet()]
91-
public async Task<ActionResult<List<ApiConfigVM>>> GetConfigs(string appId, [FromQuery] EnvString env)
91+
public async Task<ActionResult<List<ApiConfigVM>>> GetConfigs(string appId, EnvString env)
9292
{
9393
ArgumentException.ThrowIfNullOrEmpty(appId);
9494

@@ -105,7 +105,7 @@ public async Task<ActionResult<List<ApiConfigVM>>> GetConfigs(string appId, [Fro
105105
/// <returns></returns>
106106
[TypeFilter(typeof(AdmBasicAuthenticationAttribute))]
107107
[HttpGet("{id}")]
108-
public async Task<ActionResult<ApiConfigVM>> GetConfig(string id, [FromQuery] EnvString env)
108+
public async Task<ActionResult<ApiConfigVM>> GetConfig(string id, EnvString env)
109109
{
110110
ArgumentException.ThrowIfNullOrEmpty(id);
111111

src/AgileConfig.Server.Apisite/InitService.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,10 @@ public InitService(IServiceScopeFactory serviceScopeFactory,
4040

4141
public async Task StartAsync(CancellationToken cancellationToken)
4242
{
43+
_systemInitializationService.TryInitDefaultEnvironment();//init DEV TEST STAGE PROD
44+
4345
if (Appsettings.IsAdminConsoleMode)
4446
{
45-
_systemInitializationService.TryInitDefaultEnvironment();//初始化环境 DEV TEST STAGE PROD
4647
_systemInitializationService.TryInitJwtSecret();//初始化 jwt secret
4748
_systemInitializationService.TryInitSaPassword(); // init super admin password
4849
_systemInitializationService.TryInitDefaultApp();

src/AgileConfig.Server.Apisite/appsettings.Development.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"serviceUnhealthInterval": 30, // 判断服务不健康的间隔,超出这个时间没响应过则认为不健康,单位:秒
3131
"removeServiceInterval": 0, // 如果一个服务超出这个时间没有响应,则直接移除这个服务,单位:秒;如果设定为 <= 0,则不会移除,默认 0 。
3232
"pathBase": "", //使用反向代理的时候,或许需要修改这个值 /xxx 必须/开头
33-
"adminConsole": true,
33+
"adminConsole": false,
3434
"saPassword": "123456", //super admin 的密码
3535
"defaultApp": "myapp", // 默认应用,每次重启都会尝试新建
3636
"cluster": false, // 集群模式:服务启动后自动加入节点列表,服务启动的时候会获取容器的ip,端口默认5000,适合 docker compose 环境使用

src/AgileConfig.Server.Service/SystemInitializationService.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,14 @@ public bool TryInitDefaultEnvironment()
6262
Value = envArrayString,
6363
CreateTime = DateTime.Now
6464
};
65-
sysInitRepository.SaveInitSetting(setting);
65+
try
66+
{
67+
sysInitRepository.SaveInitSetting(setting);
68+
}
69+
catch (Exception e)
70+
{
71+
logger.LogError("TryInitDefaultEnvironment error, maybe exec this saveing action in parallel on another node.");
72+
}
6673
}
6774

6875
ISettingService.EnvironmentList = envArrayString.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);

0 commit comments

Comments
 (0)