在使用网络数据库的同时存储用户ID的位置

时间:2011-08-22 21:47:40

标签: c# database registry

我们有一个使用网络数据库的C#.Net应用程序。我的意思是说应用程序的许多实例将从不同的机器访问相同的数据库。因此,如果我必须存储用户ID以在重新登录时显示用户,我可以在哪里存储它?

我的选择是:
- 将其存储在应用程序目录中的本地文件中。 (但问题是应用程序是使用Click Once安装的。当应用程序更新时,应用程序目录正在更改。可能是我在这里遗漏了一些东西。)
- 存储在注册表中。
还有其他吗?

有人可以建议做什么吗?如果我错了,请纠正我。

4 个答案:

答案 0 :(得分:3)

有这种东西的构建位置请参见Environment - 具体来说:

  • ApplicationData(用户特定漫游)
  • LocalApplicationData(特定于用户的非漫游)
  • CommonApplicationData(非用户特定)

答案 1 :(得分:1)

通常,您希望存储需要在会话之间保留的任何数据,并且在注册表或用户AppData文件夹中是特定于用户的。通常对于小事物(即ids,基本设置等......),注册表是最好的地方。只需确保将其粘贴在HKCU \ Software \您的公司名称\您的程序名称下。虽然如果数据是敏感的,你应该小心放置它,并且它应该加密以保护它免受基本窥探。如果它的数据不敏感,那么注册表是一个放置它的好地方。

这当然假设安装和配置不需要是xcopy可移植的(即用户只需将安装文件夹复制到新的位置/计算机并使一切正常工作)。如果是这种情况,那么您将要将其存储在安装目录下。

答案 2 :(得分:1)

如果您需要将UserID存储在本地,请将其保存在某种配置文件中,mabe在“LastLogin”条目下。有关详情,请查看this question,特别是this answer

答案 3 :(得分:1)

考虑使用Isolated Storage