我正在使用MVC6开发一个应用程序.我可以在启动文件中读取
JSON配置,并将依赖项注入控制器中.
现在,我的要求是我想访问非控制器的类中的配置.在这种情况下我不能使用构造函数DI.这些类驻留在MVC6应用程序的某个文件夹中,但它们不是模型或控制器类.
在这种非控制器类中访问配置的最佳方法是什么?
谢谢.
更新:
只是为了澄清 – 我不能在这些课程中使用DI.
这些类仅在需要时基于某些条件进行实例化,并且在它们上调用方法.我需要从这些类/方法中访问JSON配置设置.所以,我只知道这些方式:
>将Startup的Configuration属性设置为static,以便我可以说Startup.Configuration [“…”].
>在读取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用他的回答给我这个想法)