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

Getting started

Previous versions of .NET had a relatively simple configuration system, where all settings went into Extensible Markup Language (XML) files with the .config extension. There was a basic schema that could handle both system settings and untyped key-value pairs, but they were all strings. There was also some degree of inheritance, as some of the settings could be defined machine-wide and then overridden per application, and even in virtual applications underneath an Internet Information Services (IIS) application. It was possible to define custom sections with typed settings and complex structures by writing and registering .NET classes.

However, as convenient as this would seem, it turns out it had its limitations—namely, the following:

  • Only XML files were supported; it was not possible to have other configuration sources out of the box.
  • It was difficult to have different configuration files/configuration sections per environment (staging, quality assurance (QA), production, and more).
  • It was not possible to receive notifications when the configuration changed.
  • It was tricky to save changes.

Moreover, as dependency injection was not part of the core .NET infrastructure, there was no way to have configuration values injected into its services automatically. Let's see how .NET Core 3 helps us overcome these limitations.

主站蜘蛛池模板: 宜良县| 蓬安县| 南投市| 泸西县| 西昌市| 泗水县| 永城市| 胶州市| 哈巴河县| 桓仁| 德兴市| 斗六市| 龙岩市| 太仆寺旗| 沾化县| 承德县| 临桂县| 南昌市| 清新县| 鹤山市| 张掖市| 湾仔区| 铅山县| 德安县| 会东县| 兴国县| 富阳市| 浑源县| 安阳市| 澄江县| 沾化县| 息烽县| 青田县| 崇礼县| 乌鲁木齐市| 成武县| 东方市| 汾阳市| 莲花县| 乐业县| 若羌县|