【问题标题】:Alternate (user-scoped) settings in a C# desktop applicationC# 桌面应用程序中的备用(用户范围)设置
【发布时间】:2010-11-25 18:01:34
【问题描述】:

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() 方法(默认情况下缺少该方法)?

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

【问题讨论】:

    标签: c# .net settings


    【解决方案1】:

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

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

    我发现“设置”和配置管理工具令人困惑且难以使用,因此如果您的数据库中已有用户,不妨利用现有基础架构。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        它是为网站而构建的,但您可以很容易地将其配置为在桌面应用程序中使用。此外,已经为它编写了一个完整的 API。

        【讨论】:

          猜你喜欢
          • 2012-04-26
          • 2011-01-14
          • 1970-01-01
          • 1970-01-01
          • 2013-10-06
          • 1970-01-01
          • 2011-03-23
          • 2023-03-29
          • 1970-01-01
          相关资源
          最近更新 更多