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

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.

主站蜘蛛池模板: 闵行区| 吴江市| 桃园县| 沾化县| 万载县| 通辽市| 宁强县| 绥芬河市| 长泰县| 古交市| 和顺县| 渑池县| 绥江县| 瑞昌市| 佳木斯市| 宁海县| 青阳县| 巴南区| 宕昌县| 海南省| 台东县| 方山县| 太和县| 定襄县| 滦南县| 长武县| 武宁县| 治县。| 叶城县| 盐津县| 东丰县| 崇左市| 德钦县| 海安县| 大同市| 澄迈县| 克拉玛依市| 尉犁县| 南昌县| 澄迈县| 万安县|