官术网_书友最值得收藏!

Configuring the runtime host

.NET Core 3 introduced a not-so-well-known configuration mechanism that still has some use: a runtime host configuration. The idea here is that you provide configuration settings, as key-value pairs, in the .csproj file. You can retrieve them programmatically from the AppContext class. Here is an example project file:

<ProjectSdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<RuntimeHostConfigurationOptionInclude="Foo"Value="Bar"/>
</ItemGroup>
</Project>

The "Foo" setting is retrievable through a call to the GetData method of the AppContext class, as illustrated in the following code snippet:

var bar = AppContext.GetData("Foo");

If the named entry does not exist, GetData just returns null. Mind you, GetData is prototyped as returning an object, but in this case, it will return a string.

Normally, you wouldn't want to do that, but should you ever want to create or modify one entry of a runtime host configuration setting, you can do that through the application domain, as follows:

AppDomain.CurrentDomain.SetData("Foo", "ReBar");

Mind you, this is not a replacement for a well-structured and properly defined configuration. What .NET Core does is, at run and deployment time, it copies the contents of the RuntimeHostConfigurationOption sections (and some more) to a generated ${project}.runtimeconfig.json file that is placed together with the generated binary.

We'll now see a new feature of ASP.NET Core: feature toggles.

主站蜘蛛池模板: 天柱县| 当涂县| 上蔡县| 黎城县| 汉沽区| 五寨县| 咸宁市| 临江市| 垣曲县| 高唐县| 得荣县| 明溪县| 万年县| 子长县| 南川市| 定远县| 横峰县| 乐业县| 新晃| 保定市| 建阳市| 磴口县| 天台县| 托里县| 钟祥市| 观塘区| 惠州市| 崇州市| 张家界市| 三明市| 沛县| 汾西县| 讷河市| 大渡口区| 广丰县| 隆尧县| 岗巴县| 务川| 东海县| 东港市| 北宁市|