代码之家  ›  专栏  ›  技术社区  ›  burnt1ce

如何存储和检索在ASP.NET中不可配置的常量?

  •  0
  • burnt1ce  · 技术社区  · 16 年前

    类在不通过web.config获取常量的情况下检索/存储常量的最佳方法是什么?

    4 回复  |  直到 16 年前
        1
  •  4
  •   Mathieu Garstecki    16 年前

    将它们作为静态存储在类中,如下所示:

    public static class DbConstants
    {
        public static const string CustomersTableName = "CUST";
        public static const string ProductsTableName = "PROD";
        ...
    }
    

    考虑将它们分为几个类来进行逻辑分组,例如,一个类用于DB常量,一个类用于异常消息等。

        2
  •  4
  •   Kelsey    16 年前

    包含一个静态类,其中包含所有常量。

    public static class MyConstants
    {
        public const string MyString = "ConstString";
        public const int TestInt = 100;
        // etc...
    }
    
        3
  •  1
  •   Pete    16 年前

    这取决于它们的“常数”。 如果它们真的是常量,那就是永远不会改变的东西,那么就是一个包含常量的静态类。例如,数字pi,或者可能是包含表中字段名称的常量。

    如果它们更特定于服务器,比如连接字符串,并且您不想使用web.config,那么您可能需要签出包含web.config中新配置文件的选项。

    <appSettings file="local.config">...</appSettings>
    

    然后,local.config应该只包含appsettings元素。如果local.config文件不存在,它将被忽略。所以没有例外。任何同时存在于local.config和web.config中的设置都将使用local.config。然后,您可以在多个安装之间共享Web配置文件,并在local.config中覆盖本地设置。

    如果常量更多的是超级用户在运行时应该能够修改的内容,那么我将选择数据库中的表。例如,如果您想让超级用户修改最大密码重试次数或其他。

        4
  •  1
  •   Cleiton    16 年前

    XML文件和使用应用程序缓存来提高性能,或者UUU可以使用ASP.NET配置文件。