好吧,这是一个全新的问题,所以请原谅我。
存储变量以使它们持久且可恢复的最佳方法是什么?我有一个小型应用程序,它使用大约 10 个变量(字符串和小数)作为设置。目前,我将它们全部转换为字符串,如果需要,将它们放入数组中并将数组序列化为文件。
如果我想添加变量,这会很痛苦。所以,我正在考虑使用哈希表并将其序列化。再次,不确定执行此操作的最佳方法是什么。
我的一些要求是数据需要安全存储(加密),并且必须可由其他应用程序访问(我有另外两个读取设置的小应用程序)。
我知道我把如此基本和简单的事情过于复杂化了。几乎每个构建的应用程序都必须执行此操作。
TIA
最简单、有效且最灵活的方法是创建一个类,添加设置,然后在需要时进行序列化/反序列化。该类的源代码可以在其他程序集中重用,并且可以在任何地方持久化。由于您的安全要求,请确保此类知道如何序列化/反序列化自身。这确保了实现与类保持一致。然后调用程序集只需要通过调用静态/共享方法来创建对象。
这为您提供了强类型设置、版本控制、添加新设置的能力,甚至是复杂的数据类型(其他类)。该对象甚至可以作为参数传递给其他对象,并且由于它支持序列化,因此非常灵活。
Example
See 操作方法(对象类 => 二进制序列化 => 到内存 => 加密 => 保存到文件) at http://social.msdn.microsoft.com/forums/en-US/netfxremoting/thread/68c200c2-4aa4-48dc-95be-6fe077fd10f4/ http://social.msdn.microsoft.com/forums/en-US/netfxremoting/thread/68c200c2-4aa4-48dc-95be-6fe077fd10f4/
参考
-
版本容错序列化 at
http://msdn.microsoft.com/en-us/library/ms229752(VS.80).aspx http://msdn.microsoft.com/en-us/library/ms229752(VS.80).aspx
-
串行化接口 at http://msdn.microsoft.com/en-us/library/system.runtime.serialization.serializes.aspx http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx
-
隔离存储 at http://msdn.microsoft.com/en-us/library/3ak841sy.aspx http://msdn.microsoft.com/en-us/library/3ak841sy.aspx
-
加密任务 at http://msdn.microsoft.com/en-us/library/7yx4d854.aspx http://msdn.microsoft.com/en-us/library/7yx4d854.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)