常量类与web.config AppSettings

时间:2012-01-31 22:00:38

标签: c# asp.net configuration appsettings

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

我知道在这种情况as described here中使用配置文件是最优雅的方式,但有什么好处?我可以假设即使它有一点性能也必须有性能优势。

3 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:4)

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

如果没有可能的方法来改变值,那么使用const有一个优势。性能提升可以忽略不计。

答案 2 :(得分:2)

编译硬编码的常量值;如果您以后因某种原因需要更改它们,则必须打开源代码,重新编译,发布。

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