在我的。NET Core应用程序中,我向appsettings.json添加了一个数组,如下所示:
{
"SettingsA": {
"PropA": [
"ChildObjectA": {
...
},
"ChildObjectB": {
...
}
]
}
}
如果我想从azure应用程序服务中的应用程序设置中覆盖该值,使其具有空数组:
{
"SettingsA": {
"PropA": []
}
}
有办法做到这一点吗?
我试着把
SettingsA:PropsA -> []
在应用程序设置中,但它似乎没有覆盖appsettings的值。json
您可以使用add环境变量
属性来实现将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"));
}
在应用程序设置中。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();
}
在设置选项中:
public class SettingsOptions
{
public string SettingsA { get; set; }
public string PropA { get; set; }
}
将项目发布到azure后,它将覆盖PropA值。有关如何从asp读取appsetting的详细信息。net core,请关注这个案例。
下面是我们在现实生活中是如何做到这一点的。
我们需要在应用程序设置中配置一组受支持的语言。下面是它在应用程序设置中的外观。json在我们的。NET核心项目:
{
...
"SupportedLanguages": [
{
"Code": "en-AU",
"Name": "English (Australia)"
},
{
"Code": "en-GB",
"Name": "English (United Kingdom)"
},
{
"Code": "en-US",
"Name": "English (United States)"
}
]
}
这就是它在我们的Azure应用程序服务中的表现:
这有点复杂,尤其是如果你有一个更大或更复杂的层次结构,但我认为现在没有别的方法。
这里https://www.ryansouthgate.com/2016/03/23/iconfiguration-in-netcore/答案是,您可以覆盖数组中的元素或添加其他元素,但他说您不能覆盖整个数组,这似乎很奇怪。
重写语法使用从零开始的访问,如设置A: PropA: 0:某物,我已经在应用服务上尝试过了,可以确认它有效。
我想开发一个API,使非程序员能够设置电子邮件属性,例如端口或主机。我发现我可以使用Spring Boot注释@ConfigurationProperties在类中加载属性。 我可以使用getPort检索属性,并使用setPort进行设置。 但是,使用此方法可以计算应用程序中的实际值。使用setPort或setHost时,属性文件不会更改。因此,当我重新启动应用程序时,更改会丢失。是否有办法实际更
我已经开发了azure定时器触发函数。我从功能应用程序的应用程序设置中获取计时器时间表,如下所示。 函数. json 这对于给定的静态时间表来说工作正常。但是当用户需要更改时间表时,该时间表应该能够根据另一个Web应用程序的用户要求进行更改。 我正在努力从外部应用程序动态地更改计划参数。我尝试的是部署一个ARM模板,从下面的ARM模板注入新的时间表值。 但是,这不是重写现有的appSettings
我正在尝试在外部tomcat上运行camel应用程序。有2个应用程序。属性文件存在于我的项目中,一个在src/main/resources下,另一个在src/test/resources下。当我使用maven install命令创建war文件时,它使用应用程序。来自src/main/resources的属性文件(这是必需的),但当我在eclipse中使用tomcat启动应用程序时,它正在使用app
我看了一下这个老问题中提到的工具,但是那些做javascript的工具似乎没有提到任何关于覆盖率分析的内容。尽管radamsa提到了可选地将其与覆盖分析配对,但我还没有找到任何关于如何实际做到这一点的文档。 一个如何用覆盖指导模糊测试Java脚本(在浏览器中)应用程序?
设置应用程序 Nest is built with features from both ES6 and ES7 (decorators, async / await). It means, that the easiest way to start adventure with it is to use Babel or TypeScript. In this tutorial I will u
有一款Spring Boot 2 app就是这样的结构: 此外,模块1依赖于模块2,在pom.xml部分中指定。 谢谢你!