在C#桌面应用程序替代(用户范围)设置(Alternate (user-scoped) settin

2019-10-17 11:16发布

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帐户的Sense用户范围的)

9)推导出我自己从ApplicationSettingsBase类类,并用另存为()方法(它没有默认)供应呢?

感谢您的任何答案/建议。 如果我的问题不是很清楚,我很高兴向大家澄清

Answer 1:

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

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

我发现,在“设置”和配置管理工具是混乱和棘手的使用,所以如果你有有用户数据库已经,你还不如充分利用现有的基础设施。



Answer 2:

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



Answer 3:

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

它始建于网站,但你可以在桌面应用程序的使用很容易地对其进行配置。 此外,还有一个已经为它写了一整个API。



文章来源: Alternate (user-scoped) settings in a C# desktop application
标签: c# .net settings