【问题标题】:Constants class vs. web.config AppSettings常量类与 web.config AppSettings
【发布时间】:2012-01-31 22:00:38
【问题描述】:

我看到一些人在具有const 属性的类名称Constants 中定义配置(如键、一些静态名称等)。

我知道在as described here这种场景下使用配置文件是最优雅的方式,但是有什么好处呢?我可以假设一定会有性能优势,即使它是一点点。

【问题讨论】:

    标签: c# asp.net configuration appsettings


    【解决方案1】:

    优点是您可以在运行时更改这些值,使用常量您只能在编译时更改值(这意味着如果您需要更改某些内容,则需要重新编译和重新部署)。

    我仍然将常量和“常量”类用于我知道在运行时不需要更改的内部设置。这些可以为您节省一点阅读、解析和设置配置类的开销(ConfigurationManager 等)。但是,如果您可能希望在运行时或部署后进行调整,那么节省的性能不值得额外的麻烦(恕我直言)。

    【讨论】:

    • 最后一句话是关键!
    【解决方案2】:

    配置文件的优点是您可以在不编译的情况下更改值。

    如果值不可能改变,那么使用 const 是有好处的。性能提升可以忽略不计。

    【讨论】:

      【解决方案3】:

      硬编码的常量值被编译;如果以后出于任何原因需要更改它们,则必须打开源代码、重新编译、发布。

      如果需要,可以更改文本配置(app.config、web.config、自定义配置文件、数据库),而无需重新编译应用程序的源代码。最糟糕的情况是,您必须重新启动应用程序。

      【讨论】:

        猜你喜欢
        • 2017-10-19
        • 2010-10-02
        • 2013-09-20
        • 2016-12-27
        • 2011-09-11
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        • 2010-09-08
        相关资源
        最近更新 更多