Skip to content

Commit 4ba1830

Browse files
committed
[增加]1. 增加环境变量帮助类
1 parent 15fc034 commit 4ba1830

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

GameFrameX.Utility/EnvironmentHelper.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,36 @@ public static bool IsEnvironment(string environmentName)
6565

6666
return string.Equals(env, environmentName, StringComparison.OrdinalIgnoreCase);
6767
}
68+
69+
/// <summary>
70+
/// 判断当前应用是否运行在Docker容器中
71+
/// 通过检查环境变量 DOTNET_RUNNING_IN_CONTAINER 是否存在来判断
72+
/// </summary>
73+
/// <returns>如果在Docker容器中运行返回true,否则返回false</returns>
74+
public static bool IsDocker()
75+
{
76+
return !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("DOTNET_RUNNING_IN_CONTAINER"));
77+
}
78+
79+
/// <summary>
80+
/// 判断当前应用是否运行在Kubernetes集群中
81+
/// 通过检查环境变量 KUBERNETES_SERVICE_HOST 是否存在来判断
82+
/// </summary>
83+
/// <returns>如果在Kubernetes集群中运行返回true,否则返回false</returns>
84+
public static bool IsKubernetes()
85+
{
86+
return !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("KUBERNETES_SERVICE_HOST"));
87+
}
88+
89+
/// <summary>
90+
/// 获取当前运行环境名称
91+
/// 优先获取 ASPNETCORE_ENVIRONMENT 环境变量,如果不存在则获取 DOTNET_ENVIRONMENT 环境变量
92+
/// </summary>
93+
/// <returns>返回当前环境名称,如果未设置环境变量则返回null</returns>
94+
public static string GetEnvironmentName()
95+
{
96+
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")
97+
?? Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT");
98+
return env;
99+
}
68100
}

0 commit comments

Comments
 (0)