C#桌面应用程序中的备用(用户范围)设置

时间:2009-09-04 19:28:38

标签: c# .net settings

1)我使用Visual Studio 2008(C#)

2)我希望我的桌面应用程序能够“记住”每个用户的某些设置(首选项)。

3)应用程序将使用自己的用户数据库(登录名+密码),因此它们与Windows帐户无关。

我怎样才能做到这一点?试图找到答案

4)我在MSDN上找到了“使用备用设置集”主题=> http://msdn.microsoft.com/en-us/library/aa730869%28VS.80%29.aspx - 但

5)它表明即使是这些替代设置也需要在设计时添加。这有点问题,因为:

6)我事先并不知道数据库中会有多少用户 - 我希望“主要用户”(管理员)可以随时添加更多帐户。

所以 7)我该如何做到这一点?

到目前为止,我想过: 8)使用隔离存储文件? (但它们在引用Windows帐户的意义上也是用户范围的)

9)从ApplicationSettingsBase类派生我自己的类并为其提供SaveAs()方法(默认情况下它没有)?

感谢您提出任何答案/建议。 如果我的问题不太清楚,我很乐意澄清

3 个答案:

答案 0 :(得分:1)

如果您有一个存储用户和密码的数据库,为什么不在那里存储应用程序设置?我假设你正在使用SQL Server(Express或商业)

.NET中的所有“设置”都是键值对,我不明白为什么你不能用数据库中的名称值对完成这个完全相同的功能。

我发现“设置”和配置管理工具使用起来很混乱,因此如果您已经有一个包含用户的数据库,那么您也可以利用现有的基础架构。

答案 1 :(得分:1)

您可以使用SQLite数据库来保存所有数据。 (见System.Data.SQLite

答案 2 :(得分:1)

您应该考虑使用ASP.NET成员资格提供程序。它允许每用户个性化设置以及“所有用户”设置。

它是为网站构建的,但您可以非常轻松地将其配置为在桌面应用程序中使用。此外,还有一个已经为其编写的完整API。