我写了一个在启动时自动运行的提醒程序。我想知道除了SQL-Server之外是否还有一种存储事件,日期和时间数据的方法。我不想在这项工作中使用SQL-Server,因为我认为SQL-Server对于这个简单的任务来说非常重要。我认为我可以使用文件来存储数据。你怎么看待这个?
答案 0 :(得分:3)
存储信息的一些常用方法:
注册表项对于用户操作更安全。另一方面,文件可以轻松删除。
您始终可以选择加密信息。
作为旁注,您还可以使用PostSharp声明要存储在注册表中的变量。代码变成这样:
[RegistryBacking]
private bool _boolean;
如果你需要的话,我可以在以后提供代码...当我再次回家时。
答案 1 :(得分:1)
XML。 .NET has classes使得处理xml文件变得容易。如果你要保存结构化数据,那么XML可能是你最好的选择。
答案 2 :(得分:1)
部分
从此document (Managing User Data Deployment Guide, download):
Windows将
Local
和LocalLow
文件夹用于应用程序数据 不与用户漫游。通常这些数据是机器 特定的或太大而不能漫游。Windows将
Roaming
文件夹用于特定于应用程序的数据,例如 作为自定义词典,它是独立于机器的,应该漫游 用户个人资料。
所以,我建议使用AppData\Roaming
并持久保存到文件,因为我认为'提醒应用'是特定于用户的。例如,域用户会认为这很有价值(与服务器同步)。
Local
和LocalLow
(后者用于低完整性模式,对于权限降低的应用程序)更适合某些机器/安装特定数据,可以即时计算
Registry
似乎对于少量密钥很有用,但似乎不是这种用法的最佳选择。
还有另一个选项 - IsolatedStorage
,当提到的选项不适用时应该使用,例如在使用ClickOnce部署时。
对于如何部分将数据保存到文件中......好吧,选择您喜欢的。你可以使用SQLite数据库,如果你想要更多的控制权和功能,或者只是使用XML序列化到一个文件,如果你考虑使用SQLite一个矫枉过正的话。或任何其他可行的选择。
答案 3 :(得分:1)
我出于非常相似的原因尝试了一些易于部署的数据库,并使用了我的知识。
VistaDB 3.x and 4是我的第一选择,因为它们非常适合SQL Server,并允许我随时切换到sql server。这也支持EF !!!
接下来是db4o by Versant,这非常方便。我主要使用它进行快速原型设计,但我已经部署了几个小型解决方案,非常适合您的应用。
我希望有所帮助!