C# 根据控制器或视图,从不同的配置文件检索配置密钥

C# 根据控制器或视图,从不同的配置文件检索配置密钥,c#,asp.net,asp.net-core,C#,Asp.net,Asp.net Core,我有一个ASP.NET WebForms项目,其结构如下: 第1页(文件夹) Default.aspx Default.aspx.cs web.config(包含键ProductId=111) 第2页(文件夹) Default.aspx Default.aspx.cs web.config(包含键ProductId=222) 第3页(文件夹) Default.aspx Default.aspx.cs web.config(包含键ProductId=333) web.config(包

我有一个ASP.NET WebForms项目,其结构如下:

  • 第1页(文件夹)

    • Default.aspx
    • Default.aspx.cs
    • web.config(包含键ProductId=111)
  • 第2页(文件夹)

    • Default.aspx
    • Default.aspx.cs
    • web.config(包含键ProductId=222)
  • 第3页(文件夹)

    • Default.aspx
    • Default.aspx.cs
    • web.config(包含键ProductId=333)
  • web.config(包含各种常用键

通过这种方式,我可以根据我请求的Default.aspx.cs文件为配置键“ProductId”获取不同的值

现在,我想在ASP.NET Core 1.1 Web应用程序中重现相同的行为(这意味着根据请求配置密钥的控制器或视图获取不同的值)。这是否可能

据我所知,必须在Startup.cs中构建配置(例如使用json文件)。ASP.NET Core是否提供了使配置像WebForms中那样灵活的可能性?
当然,我也可以将键/值存储在数据库或C#类中,每个控制器/视图都有常数,但我希望将它们保存在配置中。

您尝试过吗?我认为它应该与WebForms&MVCForms@DanielB相同,因为我认为唯一的方法是显式声明所有需要的文件用作Startup.cs+中配置的源,因为我很想知道。@DanielB不是。.NET Core的配置完全不同,没有任何默认配置文件。不同的部分可以来自完全不同的源,如json文件、环境变量、,databasaes@Dario你所做的不是loadi为每个控制器/页面设置不同的键。您覆盖了不同文件夹的配置,偶然地导致了每个页面的值不同。这在MVC项目中不起作用,因为所有控制器通常放置在同一文件夹中,并且不应依赖于它们的位置。