Skip to content

Commit 15fc034

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

1 file changed

Lines changed: 68 additions & 0 deletions

File tree

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// GameFrameX 组织下的以及组织衍生的项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
2+
//
3+
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE 文件。
4+
//
5+
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
6+
7+
using Microsoft.Extensions.Hosting;
8+
9+
namespace GameFrameX.Utility;
10+
11+
/// <summary>
12+
/// 环境帮助器
13+
/// </summary>
14+
public static class EnvironmentHelper
15+
{
16+
/// <summary>
17+
/// 判断是否为开发环境
18+
/// 通过检查环境变量 ASPNETCORE_ENVIRONMENT 或 DOTNET_ENVIRONMENT 的值是否为 Development
19+
/// </summary>
20+
/// <returns>如果是开发环境返回true,否则返回false</returns>
21+
public static bool IsDevelopment()
22+
{
23+
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")
24+
?? Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT");
25+
26+
return string.Equals(env, Environments.Development, StringComparison.OrdinalIgnoreCase);
27+
}
28+
29+
/// <summary>
30+
/// 判断是否为生产环境
31+
/// 通过检查环境变量 ASPNETCORE_ENVIRONMENT 或 DOTNET_ENVIRONMENT 的值是否为 Production
32+
/// </summary>
33+
/// <returns>如果是生产环境返回true,否则返回false</returns>
34+
public static bool IsProduction()
35+
{
36+
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")
37+
?? Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT");
38+
39+
return string.Equals(env, Environments.Production, StringComparison.OrdinalIgnoreCase);
40+
}
41+
42+
/// <summary>
43+
/// 判断是否为测试/预发布环境
44+
/// 通过检查环境变量 ASPNETCORE_ENVIRONMENT 或 DOTNET_ENVIRONMENT 的值是否为 Staging
45+
/// </summary>
46+
/// <returns>如果是测试/预发布环境返回true,否则返回false</returns>
47+
public static bool IsStaging()
48+
{
49+
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")
50+
?? Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT");
51+
52+
return string.Equals(env, Environments.Staging, StringComparison.OrdinalIgnoreCase);
53+
}
54+
55+
/// <summary>
56+
/// 判断是否为任意自定义环境
57+
/// 通过检查环境变量 ASPNETCORE_ENVIRONMENT 或 DOTNET_ENVIRONMENT 的值是否与指定环境名称匹配
58+
/// </summary>
59+
/// <param name="environmentName">要检查的环境名称</param>
60+
/// <returns>如果当前环境与指定环境名称匹配返回true,否则返回false</returns>
61+
public static bool IsEnvironment(string environmentName)
62+
{
63+
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")
64+
?? Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT");
65+
66+
return string.Equals(env, environmentName, StringComparison.OrdinalIgnoreCase);
67+
}
68+
}

0 commit comments

Comments
 (0)