我只需添加以下内容即可在 .NET Core 2 Web API 控制器中访问 appsettings.json:
public class MyController : Controller
{
private readonly IConfiguration appConfig;
public MyController(IConfiguration configuration)
{
appConfig = configuration;
}
}
无需在 Startup 类中添加以下内容配置服务(IServiceCollection 服务)在 services.AddMvc(); 之后:
services.AddSingleton<IConfiguration>(Configuration);
我的方法有什么缺陷吗?在 .Net Core 2 配置部分的官方文档中,甚至没有提到使用“AddSingleton”一次:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration
同样通过搜索我找不到与访问配置相关的内容!
下面的链接显示AddSingleton 如同强制步骤:
访问控制器类中的 appsettings.json 值
https://blogs.technet.microsoft.com/dariuszporowski/tip-of-the-week-how-to-access-configuration-from-controller-in-asp-net-core-2-0/
As the ASP.NET Core 2.0 官方路线图 says:
An IConfiguration
在 ASP.NET Core 2.0 中,实例会默认添加到 services 容器中,以便所有应用程序都可以轻松地通过容器检索配置值
So services.AddSingleton<IConfiguration>
(或类似的)已经被框架本身调用。
你可能会在里面看到这种行为WebHostBuilder.cs文件或(当使用实用程序扩展方法时)里面HostBuilder.cs file.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)