gpt4 book ai didi

c# - 如何将配置传递给 ASP.NET MVC6 中的非 Controller 类

转载 作者:行者123 更新时间:2023-11-30 12:25:16 25 4
gpt4 key购买 nike

我正在使用 MVC6 开发应用程序。我可以读取启动文件中的 JSON 配置,并将依赖项注入(inject)到 Controller 中。

现在,我的要求是我想访问不是 Controller 的类内部的配置。在这种情况下我不能使用构造函数 DI。这些类驻留在 MVC6 应用程序的某个文件夹中,但它们不是模型或 Controller 类。

在此类非 Controller 类中访问配置的最佳方式是什么?

谢谢。

更新:

澄清一下 - 我不能对这些类使用 DI。

这些类仅在需要时根据某些条件实例化,并调用它们的方法。我需要从这些类/方法中访问 JSON 配置设置。所以,目前我只知道这些方法:

  1. 将 Startup 的 Configuration 属性设为静态,这样我就可以说 Startup.Configuration["..."]

  2. 读取 JSON 配置后从 Startup 设置自定义类的静态属性,然后访问这些静态属性。

这些替代品好吗(当然 DI 除外)?还有其他方法吗?

最佳答案

我要做的是创建一个这样的注册服务方法:

 public static void AddMyTools(this IServiceCollection services, IConfiguration config){
//Save the config in the class
}

在这个静态方法中,我将在这个静态类中存储我需要的配置。

然后在 Startup.cs 中,我将使用我的工具的命名空间,然后在 ConfigureServices 部分中,我将像这样添加我的工具:

 services.AddMyTools(Configuration); 

希望对你有帮助。我没试过,也许有一些改变,但你有全局的想法。 (我正在搜索这个,@Sam Farajpour Ghamari 通过他的回答告诉了我想法)

关于c# - 如何将配置传递给 ASP.NET MVC6 中的非 Controller 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31781880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com