asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ASP.NET Core多环境配置文件问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

<h2 id="前言">前言

在我们开发的过程中,往往会有这几个环境,Dev、QA、Pre和Pro。

当然不同的环境可能大家的叫法会有点不一样。

最常遇到的问题,或许就是不同环境的配置文件问题!

title="ASP.NET Core多环境配置文件问题" alt="ASP.NET Core多环境配置文件问题" src="https://cn.js-code.com/res/2019/02-08/23/68a37e64b576e8e5e88d47d967619e5f.png">

一个环境一个配置文件是很常见的做法。

在开发的时候,我们可以通过修改launchsetTings.json来达到不同环境的切换。

本质是通过ASPNETCORE_ENVIRONMENT这个变量值来完成。

但是部署到服务器的时候就需要换个方式来处理这个问题了。 因为发布后的文件并没有launchsetTings.json。

这里简单介绍两种方法来处理这个问题。

设置系统的环境变量。

修改 /etc/profile 文件,添加下面的配置

Hell">export ASPNETCORE_ENVIRONMENT=QA

再执行source命令,使其生效。

Hell">source /etc/profile

执行 dotnet myweb.dll 的时候就可以看到下面的结果

HosTing environment: QA
Content root path: /var/www/testweb
Now listening on: http://127.0.0.1:47372
Application started. Press Ctrl+C to shut down.

这种做法,然可以完成不同环境的切换问题,但是要为每台机器设置一个环境变量。

由于直接是镜像copy出来的系统,好多系统配置是已经做好标准规范的了,所以这样做还是会很麻烦,运维的同学肯定也不愿意每copy一台机器,都帮你改这个东西。

所以这个方法自已玩玩的机率比较多。

在启动程序的时候,添加一个名为environment的Command-Line参数,同时指定它的值为对应的环境值。

下面的例子是托管在jexus时的写法。

Hell">AppHost={
cmd=dotnet /var/www/testweb/myweb.dll --environment QA; 
root=/var/www/testweb;  
port=0;
}

这个时候看到的日志也是一样的效果。

HosTing environment: QA
Content root path: /var/www/testweb
Now listening on: http://127.0.0.1:47372
Application started. Press Ctrl+C to shut down.

通过这种方法,可控性看上去比较好,只需要加个参数即可。

如果用方法2需要注意一点:

Program.cs中,不要忘记AddCommandLine。

不过如果用的是WebHost.CreateDefaultBuilder(args)就可以忽略这一点了。

大佬总结

以上是大佬教程为你收集整理的ASP.NET Core多环境配置文件问题全部内容,希望文章能够帮你解决ASP.NET Core多环境配置文件问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: