- Modern Web Development with ASP.NET Core 3
- Ricardo Peres
- 204字
- 2021-06-18 18:35:56
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.
- Mastering Ext JS(Second Edition)
- Learning Cython Programming(Second Edition)
- 數據庫系統教程(第2版)
- iOS開發實戰:從零基礎到App Store上架
- Apache Hive Essentials
- OpenCV 3和Qt5計算機視覺應用開發
- Full-Stack Vue.js 2 and Laravel 5
- 手把手教你學C語言
- Learning Zurb Foundation
- bbPress Complete
- Python Web數據分析可視化:基于Django框架的開發實戰
- UI設計全書(全彩)
- Hands-On Kubernetes on Windows
- UI設計基礎培訓教程(全彩版)
- Learning Kotlin by building Android Applications