在Windows下存储用户特定的数据

时间:2018-02-14 09:30:07

标签: c# windows

我有一个需要存储用户特定数据的应用程序。目前我使用userprofile来存储数据:

C:\Users\<username>\

现在我遇到的问题是数据变大,一些用户因为文件大小超过用户配置文件大小而出错。

无法更改用户个人资料尺寸。

所以我需要以下解决方案之一: 1.将数据/文件夹标记为“保持本地” 2.使用特定于用户的Windows中存在的另一个文件夹 3.创建一些本地文件夹并将其标记为“这仅适用于用户xyz”

这三种解决方案中有任何一种都可用吗?

(如果这很重要,客户端在Windows 7及更高版本上)

确定文件夹的代码:

  string userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
  string folder = Path.Combine(userPath, PlaylistsFolder);

3 个答案:

答案 0 :(得分:0)

如果您有权在非用户特定位置创建数据,则可以通过创建根文件夹然后根据登录的用户名创建子文件夹来应用解决方案三。遗憾的是,如果存储的数据是敏感的,则会产生一些问题,那么您应该进行一些加密以确保用户无法访问和修改其他用户的数据。

您可以检索登录用户的姓名:

<input ... v-model="getStudent.name || studentName">

答案 1 :(得分:0)

在我的脑海中,您是否可以在应用程序%Pro​​gramData%文件夹中创建一个新的用户特定文件夹,然后在c:\ User \ [username]文件夹中创建一个SymLink?

关于SymLinks,请看这里: https://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/

答案 2 :(得分:0)

Environment.SpecialFolder.UserProfile替换为Environment.SpecialFolder.LocalApplicationData

解决了这个问题