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

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.

主站蜘蛛池模板: 康保县| 沙河市| 开封市| 禄劝| 靖边县| 历史| 博客| 晋江市| 搜索| 建宁县| 凤台县| 锡林郭勒盟| 新野县| 东光县| 仪陇县| 苍山县| 措美县| 丹东市| 德江县| 青海省| 娄烦县| 西盟| 甘孜县| 彭州市| 湟源县| 济源市| 秭归县| 沅陵县| 永和县| 曲周县| 双柏县| 蕲春县| 瓦房店市| 濉溪县| 宜宾县| 兴化市| 扶沟县| 澄江县| 呼和浩特市| 万全县| 铁岭市|