ASP.NET Core多环境配置文件问题

ASP.NET Core多环境配置文件问题,第1张

概述前言在我们开发的过程中,往往会有这几个环境,Dev、QA、Pre和Pro。当然不同的环境可能大家的叫法会有点不一样。最常遇到的问题,或许就是不同环境的配置文件问题!一个环境一个配置文件是很常见的做法。在开发的时候,我们可以通过修改launchSettings.json来达到不同环境的切换。本质是通过ASPNETCORE_ENVIRONMENT这个变量值来完成。但是部署到服务器的时候就需要换个方式来处理这个问题了。 因为发布后的文件并没有launchSettings.json。这里简单介绍两种方法来处理这个问题。方法1设置系统的环境变量。修改 /etc/profile 文件,添加下面的配置export ASPNETCORE_ENVIRONMENT=QA再执行source命令,使其生效。source /etc/profile执行 dotnet myweb.dll 的时候就可以看到下面的结果Hosting environment: QAContent root path: /var/www/testwebNow listening on: http://127.0.0.1:47372Application started. Press Ctrl+C to shut down.这种做法,虽然可以完成不同环境的切换问题,但是要为每台机器设置一个环境变量。由于直接是镜像copy出来的系统,好多系统配置是已经做好标准规范的了,所以这样做还是会很麻烦,运维的同学肯定也不愿意每copy一台机器,都帮你改这个东西。所以这个方法自已玩玩的机率比较多。方法2在启动程序的时候,添加一个名为environment的Command-Line参数,同时指定它的值为对应的环境值。下面的例子是托管在Jexus时的写法。AppHost={cmd=dotnet /var/www/testweb/myweb.dll --environment QA;root=/var/www/testweb;port=0;}这个时候看到的日志也是一样的效果。Hosting environment: QAContent root path: /var/www/testwebNow listening on: http://127.0.0.1:47372Application started. Press Ctrl+C to shut down.通过这种方法,可控性看上去比较好,只需要加个参数即可。如果用方法2需要注意一点:在Program.cs中,不要忘记AddCommandLine。不过如果用的是WebHost.CreateDefaultBuilder(args)就可以忽略这一点了。

<h2 ID="前言">前言

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

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

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

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

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

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

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

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

设置系统的环境变量。

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

export ASPNETCORE_ENVIRONMENT=QA

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

source /etc/profile

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

Hosting environment: QAContent root path: /var/www/testwebNow Listening on: http://127.0.0.1:47372Application started. Press Ctrl+C to shut down.

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

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

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

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

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

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

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

Hosting environment: QAContent root path: /var/www/testwebNow Listening on: http://127.0.0.1:47372Application started. Press Ctrl+C to shut down.

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

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

在Program.cs中,不要忘记AddCommandline。

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

总结

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1256038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存