应用程序中的全局设置

本文关键字:全局设置 应用程序 | 更新日期: 2023-09-27 18:06:18

. NET MVC应用程序与多个程序集,我需要访问一些设置。

。设置是来自Web的常量或值。配置AppSettings。

我的想法是注入一个Settings类,作为一个单例,在我需要它的地方:

public interface ISettings {
  LoggerSettings Logger { get; }
} // ISettings
public class LoggerSettings {
  public String Levels { get { return ConfigurationManager.AppSettings["Logger.Levels"]; } }
  public const String Report = "team@xyz.com";
} // LoggerSettings
public class Settings : ISettings {
  public LoggerSettings Logger { get; private set; }
  public Settings() {
    Logger = new LoggerSettings();
  }
} // Settings
  1. 您如何看待这种方法并将类作为单例注入?

  2. 我需要,在这种情况下,设置任何类/属性为静态吗?我想我需要有LoggerSettings和它的属性作为静态的,不是吗?否则,我将需要在构造设置时创建一个新实例?

谁能给我一点建议吗?

应用程序中的全局设置

如果你实际上是在注入你的类(通过一个DI框架),通过"单例"你的意思是你在你的DI框架中使用了一个单例的"作用域",那么这种方法将会很好地工作。如果这是你正在做的,那么你的属性不需要是静态的,因为同样的"单例"实例将被注入到依赖它的任何类中。