gpt4 book ai didi

c# - Azure Keyvault 停止在 IIS 托管站点上工作

转载 作者:行者123 更新时间:2023-12-04 13:27:44 24 4
gpt4 key购买 nike

您好,我有一个关于 Azure keyvault 和 IIS 的问题。所以我们的服务器提供商做了一个Windows补丁:2021 年 4 月适用于基于 x64 的系统的 Windows Server 2016 累积更新 (KB5001347)2021 年 4 月适用于基于 x64 的系统的 Windows Server 2016 服务堆栈更新 (KB5001402)

在此 Windows 补丁并重新启动服务器后,我们从 web.config 到 Azure 中的 keyvault 的获取停止工作。

当 IIS 启动我们的应用程序时,它找不到 Microsoft.Configuration.ConfigurationBuilders.Azure即使 DLL 位于 bin 文件夹中。

另一件值得一提的重要事情是,我们的数据库连接字符串(位于其自己的文件 connectionstrings.config 中)与 Azure Keyvault 配合得很好。

同一台计算机上的 Windows 服务也可以与 Azure Keyvault 完美配合。

所以这个问题只影响我们 web.config 中的 appsettings 部分。我们尝试将 bin 文件夹添加到 web.config 中的 privatePath,但这没有帮助

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;modulesbin"/>

这在我们的 STAGING 机器上效果很好,它具有相同的 Windows 更新并使用相同的配置。有人知道我们接下来可以做什么吗?我们正在使用什么:

System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

<configBuilders>
<builders>
<add name="AzureKeyVault" vaultName=somevaultname"
type="Microsoft.Configuration.ConfigurationBuilders.AzureKeyVaultConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Azure, Version=1.0.0.0, Culture=neutral"
vaultUri="somevaulturi"/>
</builders>
</configBuilders>

感谢您的帮助

编辑:我们现在已经安装了较新的 Azure dll。在服务器上安装了 Azure CLI。我们现在在环境变量中使用 AZURE_TENANT_ID、AZURE_CLIENT_SECRET、AZURE_CLIENT_ID 而不是 AzureServicesAuthConnectionString。

重新启动后,Web 应用程序、服务、连接字符串停止工作。事件查看器中的错误消息:异常消息:加载配置文件时发生错误:指定的用户没有有效的配置文件。无法加载“Microsoft.Configuration.ConfigurationBuilders.Azure”

在我们的舞台服务器上一切仍然按预期工作。

最佳答案

AZURE_TENANT_ID 已在管理员环境变量下正确添加但在系统环境变量下,它添加了 AZURE_TENTANT_ID (太多了)这样的错字。现在一切都好。

关于c# - Azure Keyvault 停止在 IIS 托管站点上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67225949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com