2017-02-02 90 views
0

我正在使用用户范围中的设置来存储用户文化。用户设置 - 多个用户使用相同的Windows帐户

我的问题是:

  • 多个用户使用同一台机器将共享相同的用户范围的设置,或者每个用户都会有自己的用户设置?

用户使用相同的Windows帐户,并且只在该应用程序的登录中进行区分。

+0

“在同一台计算机上,我的意思是使用相同的Windows用户帐户。”这是完全不同的两件事。 “同一台机器”*不等于“相同的用户帐户”。你是否说过只有一个用户帐户是由所有人共享的,才有多个人登录到计算机上?你想让不同的人有不同的设置?如果是这样,那么你的应用程序就不会知道谁坐在键盘上。你必须包括一些方法让他们选择他们的个人资料,可以说,当他们开始使用你的应用程序。 –

+0

“你是说你有多个物理人登录到计算机上,只有一个用户帐户是由所有人共享的?”是。 “你想要不同的人有不同的设置?”我想知道他们是否共享相同的用户设置。 –

回答

1

如果多人使用共享用户帐户登录到单台计算机,则默认情况下,他们将在他们使用应用程序时共享相同的设置,除非您编程使​​其无法工作。这是因为应用程序无法知道其他人正在使用它。由于它是一个用户帐户,因此应用程序不知道另一个人正在使用应用程序坐在键盘后面。

如果您希望为共享一个用户帐户的不同人员设置不同的设置,可以引入某种“配置文件”,其中每个配置文件都包含自己的设置。用户每次启动应用程序时都必须选择他们的配置文件。

编辑:基于您最近的更新(涉及特定登录到您的应用程序):我建议您可以修改我的方法,以便配置文件绑定到登录,因此用户不必选择个人资料。为了解决您的问题“是否可以为每个登录用户设置C#设置,或者我需要将该信息存储在数据库中或以任何其他方式?”:这取决于您意思是“C#setting”。如果您正在讨论存储在App.config中的内置“设置”,那么默认情况下只有一个。您有几个选择:您可以编写代码来动态加载(在运行时)您自己的App.config - 每个用户“登录”您的应用程序(有关更多信息,请参阅this answer);您可以将您的设置保存在您自己的自定义XML文件中;您可以将设置存储在Windows注册表中的层次结构中(如果您使用的是Windows);并且可以像您建议的那样将它们存储在数据库中。随你便。

+0

“其中每个配置文件都包含自己的设置”但是可以为每个登录用户设置C#设置,或者我需要将该信息存储在数据库中或以任何其他方式? –

+0

@FábioSilva - 查看我的答案更新。 –