我们有多个环境在同一台机器上运行。对于我们的Web应用程序,我们可以使用web.config轻松地为每个不同的Web应用程序设置ASPNETCORE_ENVIRONMENT变量。
但是,我们还部署了计划使用Windows任务计划程序运行的控制台应用程序。我们无法弄清楚如何为每个控制台应用设置不同的ASPNETCORE_ENVIRONMENT变量。
我们查看了Microsoft documentation,它显示了使用如下所示的命令行:
set ASPNETCORE_ENVIRONMENT=Development
这会将整台机器设置为该环境吗?我们不了解运行这样的命令的范围。
任何人都对用于为控制台应用设置此变量的预期用途有任何见解吗?
答案 0 :(得分:3)
ASPNETCORE_ENVIRONMENT是一个机器环境变量,是的,它将整个机器设置为该环境。
你有一个架构问题,ASPNETCORE_ENVIRONMENT不是你的问题。
为什么一台机器会处于多种环境中,如果您考虑它,这怎么可能呢?你只是没有足够的“机器”。
您应该使用虚拟机或Docker容器,我建议使用Docker容器。或者只是使用更多的机器。
仅仅因为您可以在IIS中使用不同的环境,孤立的Web应用程序并不意味着机器可以在多个环境中使用。这就是为什么存在虚拟机和Docker容器,将机器拆分为不同的环境和应用程序的原因。