Azure App Service中ASP.NET配置值随请求交替切换问题求助
ASP.NET 4.8应用在Azure App Service中配置值交替返回问题
我们的ASP.NET 4.8应用部署在Windows Azure App Service上,使用ConfigurationManager.AppSettings读取配置键时,若同一键同时存在于web.config的<appSettings>节点和Azure门户的「配置→应用设置」中,会出现每次请求交替返回两个位置配置值的异常现象。如果该值被缓存到跨请求的服务中,则不会发生变化;仅存在于应用服务的配置键表现正常,始终返回门户设置的值。
我编写了日志工具,每次请求检查并记录配置值变化,结果如下:
some-key: 应用服务设置值 some-key: web.config值 some-key: 应用服务设置值 some-key: web.config值
该交替现象在站点预热后持续且规律,我们数月后才因某代码路径读取到web.config值发现问题。
我们与Azure支持沟通近一年,对方未能确定是Azure环境问题,相关回复及总结如下:
基于提供的数据,[产品组]尝试在内部搭建相同环境,但未能复现该问题;此外他们检查了2月及最近的事件报告,未发现可能导致该问题的平台影响。
- 平台层面检查环境变量,未发现值来回切换的情况
- 该问题仅出现在我们的环境中,无其他类似报告,更可能是应用代码问题
- 结论:无法复现问题,推测为应用代码问题
环境与配置详情
- 托管于Windows App Service;单实例;无自定义站点扩展
- 生产环境(存在槽位交换)和开发环境(无槽位)均出现该问题
web.config或转换文件中无<configBuilders>元素- 采用zip包部署,部署类型为
runFromZip
已排除的情况/仍存疑问
- 重复构建器/冲突模式——不存在该情况(仅一个构建器)
- 32KB环境变量限制——仅约40个配置项
- 请求处理时的竞争——但为何预热后每次请求都会交替?
请问是否有人遇到过配置值在web.config与门户设置间随请求交替切换的问题?
内容的提问来源于stack exchange,提问作者Mark Clark
相关产品推荐
相关产品推荐

