- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的一个客户想要将旧的 .NET Framework 4.5.2 控制台应用迁移到 Azure 函数。
遗憾的是,这个控制台应用程序引用了在 .NET Framework 4.5.2 中开发的类库,他们不想将其迁移到 .Net Core 或以任何方式修改它。因此,该函数将在 V1 中,这是 .NET Framework 唯一支持的版本。
问题在于,类库在内部使用旧的 ConfigurationManager
类来检索设置。为了测试是否可以使用该库,我在 Azure function V1 项目中添加了对 System.Configuration 的引用,并尝试从 local.settings.json 中检索值:
ConfigurationManager.AppSettings["Key"]
但这会返回 null。
我知道在 Azure 函数中检索设置的正确方法是:
Environment.GetEnvironmentVariable("Key")
但是,正如我之前所说,我一直使用旧的 .NET Framework 库,并且需要一种使用 ConfigurationManager.AppSettings< 从
。可能吗?local.settings.json
获取值的方法
最佳答案
从 Azure Function v2 开始,我们使用 ConfigurationBuilder 而不是 ConfigurationManager。但Azure Functions v1 使用 ConfigurationManager 来访问应用程序设置或环境变量。因此,使用 ConfigurationManager 是我们对 Azure Function v1 的唯一选择。
下面的示例显示了获取值的正确方法 -
...
var myclientId = System.Configuration.ConfigurationManager.AppSettings["ClientId"];
var myclientSecret = System.Configuration.ConfigurationManager.AppSettings["ClientSecret"];
...
ConfigurationManager 是获取所需设置的好方法。它公开了 AppSettings,它只是一个 NameValueCollection - 使用键(或“名称”),您可以返回一个字符串类型的值。
还要确保您的 local.settings.json 如下所示 -
{
"IsEncrypted":false,
"Values" : {
"MyUrl" : "www.google.com",
...
}
...
}
检查这个discussion了解更多信息。请注意,如果您仍使用 v1,GetEnvironmentVariable
无法获取 ConnectStrings,因为它们未导入到环境中,只有 Values 可用。
关于azure - 在Azure函数V1中,如何使用ConfigurationManager检索settings.json值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69584364/
我有一些好奇,希望 .Net 专家可以帮助我。 我有一个自定义配置部分,为了掌握它,我这样做: var s = (TestConfigurationSection)ConfigurationManag
我有一个解决方案分为两个项目,一个用于类库,另一个用于单元测试(使用 NUnit 2.5)。现在,在类库项目的 App.config 文件中,我添加了几行,例如 我在类库代码中阅读 Configur
这个问题在这里已经有了答案: The name 'ConfigurationManager' does not exist in the current context (19 个回答) 关闭 5
大家好,我收到以下错误:“名称‘ConfigurationManager’在当前上下文中不存在” // namespaces using System; using System.Collection
我尝试使用 ConfigurationManager,起初 System.Configuration 没有,我想知道为什么。 经过一些尝试,在包含引用 System.Configuration 之后它
我正在以最简单的方式使用配置管理器: 阅读: ConfigurationManager.AppSettings["Foo"] 写: Configuration config = Configurati
我的程序有如下配置文件 通过深入挖掘,我发现了如何 A) 检查该 key 是否存在 B) 在需要时添加一个新 key 。由于我的程序在程序文件中,我发现为了
我无法从 App.Config 文件中获取 connectionString.. 我错过了什么吗? 创建类(class)后,我将类(class)移到了某个文件夹中。这是问题所在吗?不移动类的解决方案是
所以,我有一个类库,我知道它会被网站使用,我需要访问配置设置。我添加了对 System.Configuration 的引用,但在类库中找不到 ConfigurationManager。有几件事,其中一
这是我使用的代码: private void SaveConfiguration() { if (txtUsername.Text != "" && txtPassword.Text != "
我正在尝试为我的项目编写单元测试,但它不允许我使用配置管理器。现在我的项目设置如下 ASP.Net 应用程序(所有 aspx 页面) ProjectCore(所有 C# 文件 - 模型) Projec
我有一个对 System.Configuration 的引用 - 并且 ConfigurationSettings 没有问题 - 但类型或命名空间“ConfigurationManager”找不到!?
我正在尝试从配置文件访问 connectionStrings。代码是 ASP.NET + C#。我已经添加了 System.Configuration 以供引用,并且还提到了使用。但它仍然不接受程序集
我有一个 VS2008 ASP.NET Web 服务应用程序在我的 XP 机器的本地 IIS 上运行。同一解决方案中的一个单独项目使用测试方法来调用 WS 调用,并运行它们的进程。 当我向 WS Ap
用于连接数据库时出现“ConfigurationManager未声明”错误信息如何解决? 这是给出错误的代码行: SQLConnStr= ConfigurationManager.Connection
我正在编写一个配置系统,其中 app.config 文件是由分布在多个位置的各种配置片段动态构建的。该系统目前的工作方式如下: Bootstrapper 构建配置文件。 Bootstrapper 使用
我一直使用我自己的配置文件格式,即 XML,然后我只是将 XML 反序列化为我项目中的一个对象,或者只是将其读入 XML 文档。 这似乎更容易阅读和访问我需要的信息。 我今天早上查看了 Configu
我使用下面的代码来读取配置。此代码在 global.asax Application_Start 方法中使用。 var showAllMethodSetting = Configura
我目前的理解是它调用我的配置文件中的某些内容并返回数据。我不清楚 ConfigurationManager.AppSettings 的参数是什么。 我已经浏览了此文档( https://msdn.mi
我根本无法让 Visual Studio 2005 找到 System.Configuration.ConfigurationManager 类。这是代码: using System.Configur
我是一名优秀的程序员,十分优秀!