在 VS2017 中使用 AWS 无服务器应用程序读取 appsettings.json 文件
Read an appsettings.json file using the AWS Serverless Application in VS2017
我创建了一个新的 AWS 无服务器应用程序 (.NET Core) 并设置了一个 Lambda 函数,但我想从 appsettings.json 文件中读取一些信息,就像我对普通 ASP.NET 核心 2 网络应用程序。如何包含 appsettings.json 文件并读取设置?我有一些我想存储的端点,不想将它们硬编码到我的应用程序中。
您可以按照将配置系统添加到任何非 asp 核心项目的方式来执行此操作。
将以下 nuget 包添加到您的无服务器应用程序中:
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Binder
Microsoft.Extensions.Configuration.Json
然后添加您的 appSettings.json
配置文件。由于您希望将设置包含在已发布的 zip 中,因此请确保将 Copy to Output Directory
设置为 true
。
之后你可以写一些初始化代码:
public IConfiguration Configuration { get; private set; }
private void ConfigureSettings()
{
Configuration = new ConfigurationBuilder()
.AddJsonFile("appSettings.json", optional: true)
.Build();
}
我在上面盲目打字,所以希望它有效。如果您想使用强类型的 POCO 而不是配置,您可以通过执行以下操作来使用 Microsoft.Extensions.Configuration.Json
功能:
public ApplicationConfigPoco Configuration
{
get
{
return Configuration.Get<ApplicationConfigPoco>();
}
}
最后,由于您的 Lambda 在 linux 上运行,请注意区分大小写,这在 Windows 系统上是不存在的。例如,如果您的文件是 appSettings.json
.
,则 appsettings.json
将不会加载
我创建了一个新的 AWS 无服务器应用程序 (.NET Core) 并设置了一个 Lambda 函数,但我想从 appsettings.json 文件中读取一些信息,就像我对普通 ASP.NET 核心 2 网络应用程序。如何包含 appsettings.json 文件并读取设置?我有一些我想存储的端点,不想将它们硬编码到我的应用程序中。
您可以按照将配置系统添加到任何非 asp 核心项目的方式来执行此操作。
将以下 nuget 包添加到您的无服务器应用程序中:
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Binder
Microsoft.Extensions.Configuration.Json
然后添加您的 appSettings.json
配置文件。由于您希望将设置包含在已发布的 zip 中,因此请确保将 Copy to Output Directory
设置为 true
。
之后你可以写一些初始化代码:
public IConfiguration Configuration { get; private set; }
private void ConfigureSettings()
{
Configuration = new ConfigurationBuilder()
.AddJsonFile("appSettings.json", optional: true)
.Build();
}
我在上面盲目打字,所以希望它有效。如果您想使用强类型的 POCO 而不是配置,您可以通过执行以下操作来使用 Microsoft.Extensions.Configuration.Json
功能:
public ApplicationConfigPoco Configuration
{
get
{
return Configuration.Get<ApplicationConfigPoco>();
}
}
最后,由于您的 Lambda 在 linux 上运行,请注意区分大小写,这在 Windows 系统上是不存在的。例如,如果您的文件是 appSettings.json
.
appsettings.json
将不会加载