是否建议在.NET Core中使用app.config和ConfigurationManager?

恩里科·马森(Enrico Massone)

我们正在将某些.NET应用程序从完整框架迁移到.NET核心,并且我们正在尝试找到实现此目的的最佳方法。

主要更改之一是与应用程序配置方式相关的更改。在.NET完整框架中,我们通常将应用程序设置放入app.config文件中,并通过ConfigurationManager类读取它们

我知道.NET Core支持基于nuget包Microsoft.Extensions.Configuration和配置源的各种打包的新配置系统但是,与此同时,Microsoft通过nuget包System.Configuration.ConfigurationManager将对ConfigurationManager类的支持扩展到了.NET core

这是我的问题:

  • 配置.NET核心应用程序的最佳意图是什么?
  • 仅出于向后兼容的目的实现了对app.config文件的支持,因此,更容易将旧应用程序移植到.NET核心,或者它被认为是最佳实践,并且将来会得到维护?
格雷格

有一段历史,Asp.Net团队是开始缩小.Net应用程序中包含的依赖关系的原始团队。与更多的模块化框架相比,Microsoft的Web框架肿,导致请求延迟。斯科特·汉斯勒曼(Scott Hansleman)经常在演讲中讲这个笑话:

谁在用.Net开发?不到三十岁的人,太棒了!那么我们如何应对呢?成为模块化,更快,跨平台且更容易上手。否则你会去的,我想学习编码。下载Visual Studio,然后在四个小时后编写hello world。

因此,网络团队开始了这一转变,这使网络上的JavaScript对象表示法比扩展标记语言更好。但是在Asp.Net团队进行这些修改的一年之内,Microsoft将其组织结构重组为一个.Net。他们意识到,这些更改不仅会涉及Asp.Net团队,而且还会涉及更多级。较早的项目类型将不兼容或无法与JavaScript Object Notation一起使用,因此它们的.csproj和其他配置类型已转换回Extended Markup。但是许多开发人员确实很喜欢JavaScript Object Notation文件作为设置,它们更小,更清晰并且不那么冗长。因此,Microsoft重新添加了该功能,Microsoft.Extensions.Configuration以提供灵活性。

  • 主要目的是为了向后兼容。
  • 确保也对任何.Net Standard应用程序进行了更新。

因此,您都可以利用。除了扩展标记之外,与JavaScript对象相比,阅读和冗长的代码往往没有什么真正的好处。JavaScript对象表示法往往更容易。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在.Net Core中使用app.config

Azure.ConfigurationManager是否与.Net Core兼容?

努力在 ASP .NET 中使用 ConfigurationManager.AppSettings["key"] 从 web.config 文件中读取值

是否可以在 Elasticsearch 中结合使用 _msearch 和建议器?

是否建议使用DoctrineMigrationsBundle?

.NET Core 2.0中是否提供ConfigurationManager.AppSettings?

是否可以在带有.NET Framework的.NET Core中使用

在.net core和.net框架中使用.net标准包

是否有关于如何在带有.NET SDK v3的cosmosdb中使用分页的建议

ConfigurationManager是否可以与ASP.NET Core的appsettings.json一起使用?

为什么在 ASP.NET Core 应用程序中使用“app.Add*()”和“app.Use*()”命名约定?

是否建议在 Swing 中使用空布局?

是否建议使用GAE类型?

是否建议使用 ProgressDialog 登录?

是否可以在 ASP .NET Core 中使用 Swashbuckle 以 Swagger 2.0 和 Open API 3 格式公开相同的 Swagger JSON?

是否可以在NET Core中使用SQL数据提供程序?

如何将.netstanard库中的System.Configuration.ConfigurationManager用于.net core和.netframework

可访问性:是否建议在锚列表和一个段落中使用tab-index?

是否建议使用Spring的预定义InitializingBean和DisposableBean回调?

在ASP.Net Core中使用SharedLocalizer和javascript

在 .net Core 中使用 Redis 的作业和消息队列

ServiceBusSender - 是否建议缓存和重用?

是否建议删除Avahi和CUPS浏览?

.Net Core是否缺少GenericType和IsValueType?

是否可以从针对.NET Standard 2.x的库中使用ASP .Net Core 3.1?

.Net Core 3.1 和 .Net 5.0 是否支持 XPath 2.0?

使用ConfigurationManager从Web.Config读取密钥

是否建议使用StringUtils.EMPTY?

是否建议使用并行CURL操作限制