|
|
1
7
我建议不要使用任何类型的配置文件,而是使用某种类型的本地数据库,例如 sqlite 或者sql server express,它对应用程序崩溃的恢复能力更强。 配置设置不应该是的默认容器 设置。对我来说,有一个配置文件可以确保应用程序在给定的环境中运行。例如,定义连接字符串、轮询率或类似的东西。 用户设置,尤其是经常更改的设置,需要更好的存储机制,例如本地数据库。当然,除非它是一个客户机/服务器应用程序。在这种情况下,这些设置应该在服务器上启动,并且只有在应用程序必须在断开连接的状态下工作时才在本地保留。 在您给出的示例中,配置一个或多个报警是属于数据库表的某个对象的一个完美示例。 |
|
|
2
2
多年来,我一直在许多不同的项目中使用XML序列化,类似于您所描述的。除非您想咬掉SQL进行配置,否则这似乎是最好的解决方案。 嗯,app.config机制并不比直接的XML序列化更好。实际上,从许多不同的项目访问此配置更为困难。如果只保存WinForms应用程序的瞬态(用户选项等),则应用程序设置对于简单的数据类型很方便。
除非你在写这个文件 我怀疑文件损坏是由于断电造成的。 |
|
|
3
1
除非您能找到错误的来源,否则您只能猜测它与Xml文件有关。内置XmlSerializer完全有可能出现故障。。e、 你可能在某处有一个循环引用,但除非你知道你的错误是什么,否则很难评论。 有时使用内置的Xml序列化程序不是最佳选择,当对象变得复杂时,最好自己执行序列化和反序列化。您将拥有更多的控制,并能够更准确地确定/恢复坏文件数据。
除此之外,配置文件用于配置,而不是程序数据。不同之处在于配置数据不应该经常更改,而且通常不会直接从用户处编辑。在winforms应用程序中,配置文件中的用户之间不共享数据。如果你这样做了,那么你应该考虑你的应用程序是否真的是一个数据库应用程序。 |
|
|
4
1
因为我们在2007年做出了退出微软配置系统的决定 我们一刻也没有后悔。 看看这个: http://blog.aumcode.com/2013/08/aum-configuration-as-facilitated-by-nfx.html |
|
|
A B · C#Excel自动调整列避免长文本时出错 9 月前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 9 月前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 9 月前 |
|
|
Duck0 · 这个对象在更高的帧率下会更快吗,因为它在Update()中? 10 月前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 10 月前 |