【问题标题】:Load Application-Wide Settings During Application Startup from a SQL Server DB Using Entity Framework Core in ASP.NET Core在 ASP.NET Core 中使用 Entity Framework Core 从 SQL Server DB 加载应用程序范围的设置
【发布时间】:2020-04-25 03:43:46
【问题描述】:

如何在 ASP.NET Core 的启动期间(在我的 Startup .cs 类)我的应用程序?这些数据是否可用于我的各种控制器?

我在数据库表中有一些应用程序范围的设置,我想将它们加载到内存中,并在应用程序的整个生命周期内使用它们,而不必再次访问数据库。

【问题讨论】:

    标签: asp.net-core .net-core entity-framework-core


    【解决方案1】:

    通常您希望使用将结果加载到静态属性上的方法。例如像一个列表。所以像这样的静态类就可以解决问题。

    public static class Settings
    {
      public static Dictionary<string,string> Settings {get; set;}
    }
    

    代码应放在配置的末尾。有两种方法可以做到这一点。

    更简单的方法

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            // your other code
    
            var yourService = new YourService();
            Settings.Data = yourService.GetData();
        }
    

    依赖弹出方式

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IYourservice yourService)
        {
            // your other code
    
            Settings.Data = yourService.GetData();
        }
    

    警告上述方法仅在您使用依赖注入时才有效。通常,您希望在应用程序完成配置后调用这些方法。将代码拆分为不同的文件或/和方法是个好主意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-12
      • 2018-09-02
      • 2020-06-16
      • 2017-09-30
      • 2021-11-06
      • 1970-01-01
      • 2016-10-03
      • 1970-01-01
      相关资源
      最近更新 更多