无法将 .NET 配置部分加载到 aws lambda 函数中的 System.Configuration 类中

Unable to load .NET config sections into System.Configuration classes within an aws lambda function

提问人:Kevin MacDonald 提问时间:4/22/2022 更新时间:4/22/2022 访问量:321

问:

我想使用 .NET Core 部署 AWS lambda 函数。大部分代码与非 lambda 的其他应用程序共享。我们在整个代码中广泛使用 System.Configuration。但是,我们无法获取 lambda 代码来查找和加载配置文件。

这些是应用程序配置文件中的片段。

<configSections>
    <sectionGroup name="countryConfig">
      <section name="countryConfiguration"
               type="TTDomain.Configuration.Countries.CountryConfiguration, TTDomain_NETStandard"/>
    </sectionGroup>
<configSections>
...
...
  <countryConfig>
    <countryConfiguration configSource="Web.countryConfiguration.config"/>
  </countryConfig>

然后在 C# 代码中,我们执行类似操作

public static CountryConfiguration GetConfig()
        {
            return ConfigurationManager.GetSection("countryConfig/countryConfiguration") as CountryConfiguration;
        }

这一切都很好,除非部署为 lambda 函数。在共享到许多上下文的大型程序集代码库中,我们有许多各种配置的此类用法。无法使用这个非常基本的 .NET 功能会造成大量返工。任何想法如何在不需要接触我们所有的 C# 代码的情况下使其工作?

谢谢

C# aws-lambda system.configuration

评论

0赞 John Wu 4/22/2022
相关新闻:添加 AWS 对 config 的支持

答:

0赞 Kevin MacDonald 4/22/2022 #1

我认为 John Wu 提供的链接很好地回答了这个问题:https://github.com/aws/aws-lambda-dotnet/issues/230

简而言之,AWS lambda 不能很好地与 ConfigurationManager 配合使用这一事实不太可能改变,即使所有这些都在本地运行时运行良好。