在一个 ASP.NET Core 集成测试项目中通过 UseEnvironment 设置了环境变量的值
builder.UseEnvironment("test");
请问如何读取这个值?
UseEnvironment
中的 Environment
与 Environment.GetEnvironmentVariable
中的 Environment
一点关系没有,UseEnvironment
并不会设置 Environment Variable 。
如果用的是 IHostBuilder.UseEnvironment("test")
,需要通过 IHostEnvironment.EnvironmentName
读取。
如果用的是 IWebHostBuilder.UseEnvironment("test")
,需要通过 IWebHostEnvironment.EnvironmentName
读取。
Environment.GetEnvironmentVariable("test")
或者注入:IHostingEnvironment
为何要获取环境呢?感觉这不是一个好的实践方式,应用应该依赖具体的配置(而配置隶属于环境),而不是直接依赖环境进行判断。