【发布时间】:2020-10-22 04:06:13
【问题描述】:
我正在为一个简单的问题而烦恼。我的 .NET Core 3 应用程序中有一些设置,我认为最好将其移至我的 appsettings.json 文件。我按照本指南这样做:https://www.c-sharpcorner.com/article/reading-values-from-appsettings-json-in-asp-net-core/
在指南的更下方,有一节是关于如何依赖注入配置的一部分,我认为这是一个好主意。它说在ConfigureServices 方法中将以下代码添加到我的Startup.cs 文件中。
services.Configure<ConfigurationProps>(Configuration.GetSection("ApplicationConfiguration"));
当我这样做时,起初Configuration 是未知的,我无法从任何已知的扩展/库中导入它。查看建议,我可以看到 NuGet 包 System.Configuration.ConfigurationManager 可用。因此,我尝试安装它,看看它是否对我有帮助。不幸的是,在这样做之后,我从 Configuration 对象中收到以下错误:
非静态字段、方法或属性“Configuration.GetSection(string)”需要对象引用
根据我一直关注的指南以及我能够在线找到的其他文档,我不需要在任何地方实例化 Configuration 类。
那么,如何按照这种方法将我的配置注入services.Configure 方法?
编辑:添加文件
appsettings.json:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ApplicationConfiguration": {
"StartingPort": 13000,
"NumberOfConnections": 1
}
}
配置属性:
namespace ExternalGateway.Models
{
public class ConfigurationProps
{
public int StartingPort { get; set; }
public int NumberOfConnections { get; set; }
}
}
【问题讨论】:
标签: c# .net-core dependency-injection configuration