我有几个键值对或映射值,比如 例如:液体制造 - >处理+配料+灌装+密封
有几个这样的键值对。这些值可能会经常更改。 什么是最佳做法?我可以将它们保存到基于XML的配置文件吗?还是数据库? 我可以将它们放在配置文件中并将其读入字典并在我的应用程序中使用它吗?
感谢您的投入。
“他们什么时候会改变?用户可以更改它们还是在安装应用程序时更改?是每个用户还是每个应用程序的设置?该设置是否仅对一台机器有效,或者相同的设置是否适用于客户端几台机器?“
用户无法更改它们。设置适用于整个应用程序,所有机器。
答案 0 :(得分:2)
您可以使用web.config的<{1}}
appSettings
使用
访问代码中的值<appSettings>
<add key="myKey" value="myValue"/>
</appSettings>
答案 1 :(得分:1)
我个人会使用一个简单的数据库表,尽管您可以使用appSettings
部分来存储键/值。
http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings.aspx
还有一个保存配置文件的选项,因此它们不是静态的。
答案 2 :(得分:1)
我更喜欢将资源文件用于这些类型的事情。它们仍然是基于文本的文件,可以在不影响网站的情况下即时更改。有时我会将它们加载到global.asax中应用程序级别的变量中,有时我会根据需要将它们加载。
http://kumarnitesh.wordpress.com/2008/04/16/how-to-use-resource-file-in-c/
http://msdn.microsoft.com/en-us/library/ekyft91f(v=VS.100).aspx
http://msdn.microsoft.com/en-us/library/1ztca10y(v=VS.85).aspx
答案 3 :(得分:0)
我会创建一个包含KEY和VALUE列的表并将其存储在那里。然后编写一个包装类来处理该表的事务(CREATE / READ / UPDATE / DELETE)
如果您想要跟踪谁更改配置设置以及何时(如果您有一个用户/管理员可以更改这些设置的屏幕),您也可以拥有“CREATED_BY”,“CREATED_DATE”,MODIFIED_BY“,”MODIFIED_DATE“列。设置)。
在web.config中出现这些问题会带来一个问题。无论何时更新web.config,会话都将丢失。它将重新启动应用程序。
答案 4 :(得分:-1)
Windows注册表非常适合。