tnblog
首页
视频
资源
登录

.net core 环境变量 EnvironmentName的作用

4749人阅读 2021/12/24 15:13 总访问:747700 评论:0 收藏:0 手机
分类: .net core


可以让我们的程序在不同的EnvironmentName下运行不一样的代码。通常不同的环境,我们需要加载不一样的配置,

这是都可以通过EnvironmentName来灵活指定.比如ASP.NET Core根据自身环境的不同,加载不同的Startup{EnvironmentName}文件,例如开

发环境会加载StartupDevelopment.cs文件,线上环境加载StartupProduction.cs文件,

不仅如此,同一个Startup,我们可以指定不同的Configure{EnvironmentName}Services,Configure{EnvironmentName} 方法,系统会自动进行加载判断使用哪个
Configure,ConfigureServices


.NET CORE中获取环境变量:
很简单直接适用webHostEnvironment.EnvironmentName即可

public IActionResult Index([FromServices] ILogger<HomeController> logger, [FromServices] IWebHostEnvironment webHostEnvironment)
{
    logger.LogInformation("EnvironmentName:" + webHostEnvironment.EnvironmentName);
    logger.LogInformation("----------------------");

    return View();
}



环境标记帮助程序使用 IHostEnvironment.EnvironmentName 的值在元素中包含或排除标记:
可以做到不同的环境变量下显示不同的内容

<environment include="Development">
    <div>The effective tag is: &lt;environment include="Development"&gt;</div>
</environment>
<environment exclude="Development">
    <div>The effective tag is: &lt;environment exclude="Development"&gt;</div>
</environment>
<environment include="Staging,Development,Staging_2">
    <div>
        The effective tag is:
        &lt;environment include="Staging,Development,Staging_2"&gt;
    </div>
</environment>



可以在使用命令运行的时候,接需要的配置,可以让环境变量不同:
可以做到不同的环境变量下显示不同的内容

比如这里我们配置了两个,可以在命令运行的时候指定使用不同的配置。

比如要使用Production这个配置就可以这样使用:
dotnet run --launch-profile "Production"

当然这种方式只适用于本地开发计算机上使用,也就是开发环境

开发环境还可以考虑适用修改这个设置来测试



生产环境:

通常,可以使用环境变量或平台设置来设置用于测试的特定环境。 如果未设置环境,默认值为 Production,这会禁用大多数调试功能。 设置环境的方法取决于操作系统


比如开发环境下,我们直接运行,或者切换到开发目录适用dotnet run运行输出的默认都是Development,这也符合开发环境下环境变量为Development的需求


如果我们运行的是发布版本,那么输出的就是Production


在windows,linux,mac,iis等设置环境变量的方法可以参考微软官方文档(其实通常情况下使用默认的值就行了,如果未设置环境,默认值为 Production)
比如windows下的全局设置

依次打开“控制面板”>“系统”>“高级系统设置”,再添加或编辑“ASPNETCORE_ENVIRONMENT”值



注意,测试的时候如果修改了还是输出默认的Production,你可以重新发布一次在试

当然也可以使用命令统一设置:

setx ASPNETCORE_ENVIRONMENT Staging /M

/M 开关指明,在系统一级设置环境变量。 如果未使用 /M 开关,就会为用户帐户设置环境变量。



微软官方关于环境变量的文档
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments?view=aspnetcore-6.0

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价
这一生多幸运赶上过你.
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术