1

複数のアセンブリを含む ASP.NET MVC アプリケーションでは、いくつかの設定にアクセスする必要があります。

基本的。設定は Web.Config 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 とそのプロパティを静的にする必要があると思いますか? それ以外の場合は、設定を構築するときに新しいインスタンスを作成する必要がありますか?

誰か、これについて私にアドバイスしてもらえますか?

4

1 に答える 1

3

実際にクラスを (DI フレームワーク経由で)注入している場合、「シングルトン」とは、DI フレームワークでシングルトンの「スコープ」を使用していることを意味する場合、このアプローチは問題なく機能します。これが実際に行っていることである場合、同じ「シングルトン」インスタンスがそれに依存するクラスに注入されるため、プロパティを静的にする必要はありません。

于 2013-03-28T01:02:02.270 に答える