为在同一台计算机上运行的控制台应用程序设置多个不同的ASPNETCORE_ENVIRONMENT值

时间:2017-09-18 19:56:45

标签: environment-variables .net-core console-application

我们有多个环境在同一台机器上运行。对于我们的Web应用程序,我们可以使用web.config轻松地为每个不同的Web应用程序设置ASPNETCORE_ENVIRONMENT变量。

但是,我们还部署了计划使用Windows任务计划程序运行的控制台应用程序。我们无法弄清楚如何为每个控制台应用设置不同的ASPNETCORE_ENVIRONMENT变量。

我们查看了Microsoft documentation,它显示了使用如下所示的命令行:

set ASPNETCORE_ENVIRONMENT=Development

这会将整台机器设置为该环境吗?我们不了解运行这样的命令的范围。

任何人都对用于为控制台应用设置此变量的预期用途有任何见解吗?

1 个答案:

答案 0 :(得分:3)

ASPNETCORE_ENVIRONMENT是一个机器环境变量,是的,它将整个机器设置为该环境。

你有一个架构问题,ASPNETCORE_ENVIRONMENT不是你的问题。

为什么一台机器会处于多种环境中,如果您考虑它,这怎么可能呢?你只是没有足够的“机器”。

您应该使用虚拟机或Docker容器,我建议使用Docker容器。或者只是使用更多的机器。

仅仅因为您可以在IIS中使用不同的环境,孤立的Web应用程序并不意味着机器可以在多个环境中使用。这就是为什么存在虚拟机和Docker容器,将机器拆分为不同的环境和应用程序的原因。