大家好,
我目前正在维护一款旧应用程序,它使用了从App.config和应用程序配置表中检索应用程序配置设置的混合方法。
在我正在开发的新软件中(一个旧应用程序的移植版本),我有一个静态且很少更改的电子邮件地址列表,那么检索这些地址的最佳机制是什么?目前,我正在使用资源字符串,以便简单地使用My.Resources。但是,在App.Config或数据库表中存储信息的好处/缺点是什么?
在什么时候不再使用资源是有意义的?
一切都取决于情况?以下是我遵循的一些经验法则:
用于进入配置/资源文件
用于进入数据库
无论做什么
不要将字符串硬编码到代码中,即使您确信错误报告通知电子邮件地址不会更改,也不要这样做!否则,三年后,本来可以进行 2 秒钟配置更改的事情,将导致花费两周时间来编译一个过时的遗留应用程序!!另一个有趣的例子是在应用程序中硬编码 XML 模式。
stringname += "Schema data";
stringname += "Schema data";
stringname += "Schema data";
有趣的是,同一个人,你猜怎么着。
我认为很少改变的设置可以安全地放在app.config中。这样对于团队中的新开发人员来说,它们的来源相当透明,而且仍然可以在不重新编译的情况下更改设置。
对于经常和定期更改的事物,我会使用数据库、用户配置文件中的设置文件或其他共享位置等。这样可以更轻松地管理配置更改。
另一方面,我认为资源文件并不适合用于存储配置,它更适合于集中管理应用程序中所有硬编码内容(在某些情况下还包括翻译等)。如果我继承了你的代码,我会非常惊讶。
我倾向于在配置文件中只放置最基本的信息,仅仅足够让你连接到数据库或者其他数据源。这样可以减少敏感信息在某个扁平文件中被暴露的风险。对于存储邮件,我会将其放在数据库中。