asp.net-core - 未针对在 IIS 上运行的 ASP.net Core 应用程序更新环境变量
问题描述
我有一个设置为使用环境变量配置的 ASP.net Core 应用程序,我已经发布了该应用程序并创建了一个在 IIS 默认网站“下方”运行的 Web 应用程序。Web 应用程序在其自己的应用程序池上运行,并且 LoadUserProfile 设置为 true,身份设置为 ApplicationPoolIdentity。我的问题是,一旦我更改我的一个环境变量并回收应用程序池,Web 应用程序就不会获取我的环境变量的更改值(它应该)。要让应用程序获取环境变量,我需要运行 iisreset(仅从 GUI 管理器重新启动 IIS 是不够的)
但是,我在另一台服务器上进行了相同的设置,但有一个例外,应用程序池的身份设置为特定帐户,在这种情况下,应用程序确实会在应用程序池之后获取对环境变量所做的任何更改回收。
有没有人有同样的问题?你是怎么解决的?如果您在同一个 IIS 中运行多个网站和/或 Web 应用程序,那么“强制”运行 iisreset 并不理想。所以这不是一个真正的选择。但如前所述,它似乎与为应用程序池设置的身份有关..但我可能错了..有人有什么想法吗?
然而,我已经用谷歌搜索了一个解决方案。我唯一发现的是 github 上的一个问题,该问题现在已经关闭,他们通过运行 iisreset 解决了这个问题。网上还有很多帖子提到将 LoadUserProfile 设置为应用程序的 true池,也回收池,但如前所述.. 那是行不通的事情。
解决方案
推荐阅读
- java - java错误和异常处理
- php - 找不到类“TusPhp\Tus\Client”
- geometry - GeometryUtil.geodesicArea() 返回大量值
- docker - 为什么我不能运行 X11 应用程序?
- javascript - 使用fabric.js,我如何使用画笔从画布上的隐藏图像/图层复制叠加层
- flutter - Flutter Dropdownbutton小部件未打开
- python - Highcharts - 将字典作为时间线系列的数据传递
- c++ - 是否可以使用 C++ 中的宏交换两个变量的出现?
- python - 我收到“NameError:名称'int_to_roman'未定义”的原因是什么?我该如何解决这个问题?
- node.js - GraphQL错误无法执行更新查询