微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-core – 如何在.Net Core应用程序中读取web.config文件

我创建了一个.Net Core API,我引用了一个.Net框架应用程序.引用的应用程序连接到数据库,其连接字符串存储在web.config文件中:
string CONNSTR =ConfigurationManager.ConnectionStrings["SHOPPINGCNN"].ConnectionString;

.Net Core应用程序使用appsettings.json而不是web.config文件.当我运行API并尝试使用引用的应用程序资源时,上面的代码将被触发并返回null,因为.net Core应用程序中不存在web.config文件.解决此问题的最佳解决方案是什么

解决方法

对于.NET Core应用程序,最好的方法是使用 Configuration API.这是一种非常灵活的方式,并且由于提供程序模式,它允许使用不同的源,而不仅是最常见的appsettings.json文件(顺便说一下)只是一个JSON文件,可以随机命名):
  • File formats (INI,JSON,and XML)
  • Command-line arguments
  • Environment variables
  • In-memory .NET objects
  • An encrypted user store Azure Key Vault
  • Custom providers,which you install or create

现在关于ConfigurationManager.起初,.NET Core被迫忘记了这个类 – 它没有被实现和支持,并且想法是通过提供新的Configuration API来完全取代它.

而且,实际情况是ASP.NET Core应用程序不再通过IIS托管(IIS现在主要用作反向代理),因此web.config不再那么有用(除非您仍需要定义的极少数情况) IIS配置特有的参数).

但是,在提供.NET Standard 2.0之后,这个System.Configuration.ConfigurationManager nuget包可用并带回ConfigurationManager类.由于在新的.NET Core 2.0中实现了新的compatibility shim,因此成为可能.

关于你的情况,很难说为什么你有“空”,因为它没有足够的信息:

>它可能是web.config中的错误部分> web.config可能无法复制到输出/发布文件夹中

原文地址:https://www.jb51.cc/netcore/247724.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐