【问题标题】:How to manage custom section from Web.Config in Azure App Settings?如何在 Azure 应用设置中从 Web.Config 管理自定义部分?
【发布时间】:2019-07-19 20:11:07
【问题描述】:

我的 web.config 中有这个自定义部分

  <defaultUserAccounts>
    <userAccount email="x@x.com" password="xxx" />
    <userAccount email="y@y.com" password="yyy" />
  </defaultUserAccounts>

我在 Azure 上托管我的 Web 应用程序,我希望能够在 Azure 应用程序设置中添加新的 userAccount。

我试过了:

defaultUserAccounts.userAccount.email / z@z.com
defaultUserAccounts.userAccount.password / zzz

defaultUserAccounts:userAccount:email / z@z.com
defaultUserAccounts:userAccount:password / zzz

但它不起作用。我可以阅读 localhost 中的 web.config 自定义部分,但不是在托管应用程序时。

你能帮我吗?

【问题讨论】:

  • 一些想法,但没有找到答案。您是否打算迁移到 Core?您是否考虑过这样做更好的方法?像数据库?由于这种方法并不是真正正确的方法...docs.microsoft.com/en-us/azure/azure-app-configuration/overview
  • 我们不想移动到核心。我们不想使用数据库。这种方式是我们想要的方式。我们需要在 web.config 中提供可用的用户列表。你有什么办法可以帮助我吗?

标签: c# azure settings


【解决方案1】:

您只能使用 Azure 的管理 API 编写应用程序设置。有关使用 Fluent SDK 的示例,请参见此处。否则,这些设置在应用程序内是只读的。 https://stackoverflow.com/a/50116234

【讨论】:

  • 谢谢,是的,在某种程度上它可以工作,但我想想象已经在 azure 中内置了另一种解决方案。
  • 随意寻找另一种方式,但正如我所说,这些设置对于应用程序是只读的。
  • 也许我不明白,但在 Azure / 配置 / 应用程序设置中我可以编辑设置,所以它不是只读的。我错过了什么吗?
  • 是的,您误解了一些东西;) 在 Azure 门户中工作时,您正在与应用服务的管理平面进行交互。这将使用您具有所需权限的用户凭据。在应用程序本身中,您处于计算平面中。这与管理完全分开 - 有充分的理由。要针对管理平面进行调用,您需要使用 Fluent SDK(或其他可用的 SDK)之类的东西 - 并使用具有所需权限的身份。
  • 好的,现在我明白了,感谢您的解释。如果我理解得很好,在 Azure App Settings 中无法覆盖 web.config 的自定义配置部分,只能覆盖 Web.config 的 AppSettings 部分。您的建议是使用 Fluent SDK,因此 azure webapp 将连接到 Azure 并能够从 Azure 设置中获取设置。我理解正确吗?
【解决方案2】:

如果您不想在配置中配置应用设置,您可以按照本教程进行操作:Configure app settingsWeb.config 中的标记 &lt;appSettings&gt; 下配置它,但应用服务中的值覆盖 Web.config 中的那些。

以下是我的测试:

并使用System.Configuration.ConfigurationManager.AppSettings["testkey"]获取值,下面的页面是通过Azure中的主机获取值。

希望这对你有帮助。

【讨论】:

  • 嗨,感谢您的尝试,但抱歉这不是我的问题 :)。就我而言,我有一个自定义配置。在您的情况下,您使用标准设置。还是我在您的回答中遗漏了什么?
猜你喜欢
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
  • 1970-01-01
相关资源
最近更新 更多