diff --git a/AssetManager.API/Program.cs b/AssetManager.API/Program.cs index 946ac26..f54dd26 100644 --- a/AssetManager.API/Program.cs +++ b/AssetManager.API/Program.cs @@ -6,6 +6,9 @@ using System.Text; var builder = WebApplication.CreateBuilder(args); +// 校验必填环境变量 +ValidateRequiredEnvironmentVariables(); + // 初始化SqlSugar配置 AssetManager.Data.SqlSugarConfig.Initialize(builder.Configuration); @@ -134,3 +137,33 @@ app.UseAuthorization(); app.MapControllers(); app.Run(); + +/// +/// 校验必填环境变量,启动时检查,缺省直接报错 +/// +void ValidateRequiredEnvironmentVariables() +{ + var requiredVars = new List + { + "JWT__SecretKey", + "JWT__Issuer", + "JWT__Audience", + "ConnectionStrings__DefaultConnection", + "Tiingo__ApiKey" + }; + + var missingVars = new List(); + foreach (var varName in requiredVars) + { + var value = Environment.GetEnvironmentVariable(varName); + if (string.IsNullOrEmpty(value)) + { + missingVars.Add(varName); + } + } + + if (missingVars.Any()) + { + throw new Exception($"启动失败,缺失必填环境变量:{string.Join(", ", missingVars)}"); + } +}