Asp.net core ASP.net核心2.2配置
来自webforms背景,我试图了解配置和环境转换在.net core 2.2 MVC web应用程序中的工作原理。web.config文件和ConfigurationSettings.AppSettings属性消失了。我发现答案有点不清楚 文档说明我需要在应用程序启动期间调用Asp.net core ASP.net核心2.2配置,asp.net-core,Asp.net Core,来自webforms背景,我试图了解配置和环境转换在.net core 2.2 MVC web应用程序中的工作原理。web.config文件和ConfigurationSettings.AppSettings属性消失了。我发现答案有点不清楚 文档说明我需要在应用程序启动期间调用AddJsonFile或AddXmlFile。像这样: 公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=> WebHost.CreateDefaultBuilder(
AddJsonFile
或AddXmlFile
。像这样:
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext,config)=>
{
config.SetBasePath(Directory.GetCurrentDirectory());
config.AddJsonFile(
“config.json”,可选:true,reloadOnChange:true);
})
.UseStartup();
我使用的项目模板已具有以下逻辑:
publicstaticvoidmain(字符串[]args)
{
CreateWebHostBuilder(args.Build().Run();
}
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup();
我的项目有appsettings.json和appsettings.development.json文件。当我在Startup类的Startup方法上放置一个断点时,我可以检查配置参数,并看到两个json配置文件作为字典公开
问题
services.AddSingleton(Configuration.GetSection("myConfiguration").Get<MyConfiguration>());
看看这个:
public class ValuesController : Controller
{
private readonly MyConfiguration _myConfiguration;
public ValuesController(MyConfiguration myConfiguration)
{
_myConfiguration = myConfiguration;
}
}