Вы можете использовать свойство AddEnvironmentVariables
для достижения переопределения настроек приложений на Azure для локальных настроек.
Сначала настройте параметр на портале:
Примечание : значение здесь равно нулю.
Чтобы переопределить вложенные ключи в разделе «Настройки приложения», мы можем определить переменную, используя полный путь SettingsA:PropA
в качестве имени или используя двойное подчеркивание SettingsA__PropA
.Вы можете сослаться на эту статью .
На локальном компьютере вы можете настроить, как показано ниже: В Startup.cs:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
configuration = builder.Build();
}
public IConfiguration configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddOptions();
services.Configure<SettingsOptions>(configuration.GetSection("SettingsA"));
}
В appsettings.json:
{"SettingsA": {
"PropA": ["a","b"]
}
}
В HomeController:
private readonly IOptions<SettingsOptions> options;
public HomeController(IOptions<SettingsOptions> options)
{
this.options = options;
}
public IActionResult Index()
{
var value = options.Value;
ViewBag.Index = value.PropA+"success";
return View();
}
В SettingsOption:
public class SettingsOptions
{
public string SettingsA { get; set; }
public string PropA { get; set; }
}
После публикации проекта в Azure он переопределит значение PropA.Для получения более подробной информации о том, как читать appsetting из ядра asp.net, пожалуйста, следуйте этому case .