从特定文件读取配置 - 基于调用Web应用程序的Web.config或appsettings.json

时间:2018-01-23 12:54:25

标签: asp.net-core configuration .net-core

我有一个monolith项目,我尝试使用Full Framework将一个Web应用程序从ASP.NET转换为ASP.NET Core。 从图中可以看出,两个Web应用程序都引用了类库3.CL3包含业务逻辑,但也包含有关如何读取特定配置的逻辑(到目前为止,从Web.config文件开始)。

由于在ASP.NET Core(基于appsettings.json环境)中读取配置的方式已经改变,我必须重写从CL3读取配置的部分。

这样的场景有可能吗?

#IF CALLED FROM ASP.NET
    RETRIEVE CONFIGURATION FROM WEB.CONFIG
#ELSE (CALLED FROM ASP.NET CORE FULL FRAMEWORK)
    RETRIEVE CONFIGURATION FROM APPSETTINGS.JSON

Project dependencies

1 个答案:

答案 0 :(得分:3)

如果您正在进行重构,请尝试从共享DLL中移出配置读取,并提供一个干净的抽象,该抽象没有对特定于框架的资产的隐藏依赖。

您的ASP.NET核心应用程序和经典ASP.NET应用程序可以基于其配置系统创建配置(您可以提供两种不同的配置实现),然后使用您的CL3类并传入配置对象。 / p>

或者,您可以使用ConfigurationBuilder从appsettings.json和appsettings。{Environment} .json中读取AppSettings和连接字符串,并通过经典的ConfigurationManager API使其可用。有关如何执行此操作的详细信息,请参阅this blog post。这可以扩展到从json文件配置自定义配置节(经典.NET)。