.net窗体窗体应用程序中的共享存储

.net窗体窗体应用程序中的共享存储

问题描述:

在.net窗体窗体应用程序中是否存在共享存储之类的东西?我想要做的是构建一个设置窗体,其中每个用户都可以将自己的设置保存在自己的机器上,需要显式创建外部文件并将值保存在这些文件中。.net窗体窗体应用程序中的共享存储

感谢

+0

不,我需要简单的存储在客户端机器 –

+0

为什么不使用注册表? – balexandre

也许Isolated storage可以满足您的需求。你也可以考虑注册表。

+0

我将与独立存储去,谢谢 –

您可以使用“设置”来做到这一点 - 只要选择“用户”而不是“应用程序” - 这样的属性不会被存储到的app.config,但到嵌套目录用户主目录。您也可以在运行时加载/保存这些设置(与app.config设置不同)

+0

但它会创建外部文件。 – Reniuz

+0

这样,我必须从我的形式处理这些文件的,也是我想这些设置是用户看不到的,这样一来,用户必须看到的设置文件 –

+0

是,如果用户搜索他们的能力,他/她会发现他们 - 但他们在隐藏的目录与id样名称等等。是的他们是外部的,但不是你不必操纵文件自己。作为一个旁注:不管你保存在用户计算机上的东西 - 如果用户是聪明的,他/她将永诺看到它(相同的,如果您尝试保存到互联网) – Carsten

如果你想设置文件对用户不可见,尝试保存的注册表设置,而不是应用程序设置的用户范围,我认为这是对你的应用合适的方式。

+0

那些没有看不见任何和“用户”我强烈反对这种...注册表是脆弱的,因为它..没有必要节省更多的东西在里面:d – Carsten

+0

@CKoenig,我知道你提供的方式是一种保存应用程序状态的用户设置的好方法,但正如您在后期和评论中看到的那样,他不会看到这些配置文件。 – saber

+0

@Coenoen,我想听听关于为什么Registry很脆弱的一些理由? – saber

设置有存储地方,可惜,要么在注册表手段(这是严重虐待,并且在技术上存储在Windows中的外部文件),在您在磁盘上创建一个外部文件,远程服务器(通过http的xml)或数据库。这些设置只需要存在一些可以再次加载的位置,但是您选择写入的位置取决于您。

我完全理解你不想通过阅读,解析和加载来操作文件本身。翻转一面,获取设置,翻译成配置格式,并写入磁盘。这是一个令人讨厌的过程。

您可以使用Application ConfigurationUser Settings,这些对用户来说很容易看到。如果你想隐藏某些东西,那真的不是这样的。一个真正想要窥探应用程序文件的用户通常会找到他们正在寻找的东西,而且大多数情况下都会受到某种程度的影响。您可以加密您的配置设置,但您仍然需要使用该文件。

我的建议是实施一个像SqlServerCE这样的数据库。它是一种基于文件系统的数据库中,数据是不会立即发生,你可以把文件保存在某个有些隐藏(即C:\ ProgramData \等\等),你不必做一大堆的工作。但就像我说的,你要求的东西需要一些工作。

+0

感谢您的宝贵信息,但我会与Renuiz关于隔离存储的解决方案,这正是我需要的 –