Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文件级锁定属性。设置_C#_.net_C# 4.0_Properties.settings - Fatal编程技术网

C# 文件级锁定属性。设置

C# 文件级锁定属性。设置,c#,.net,c#-4.0,properties.settings,C#,.net,C# 4.0,Properties.settings,我是C#的新手,想保存一些设置。我的应用程序必须能够运行多个实例,因此有可能同时写入user.config文件。导致配置文件损坏。因此,我想知道在保存文件时是否有任何文件级锁定 试图查看.Save的源代码,这似乎归结为接口调用IInternalConfigHost.OpenStreamForWriting。但这是一个界面,所以我自己无法轻松回答这个问题 对措辞做了一些修改 基本上,我想知道user.config文件是否会因为我的应用程序的多个实例同时写入而损坏。您可以使用互斥锁对象。 它防止了多

我是C#的新手,想保存一些设置。我的应用程序必须能够运行多个实例,因此有可能同时写入
user.config
文件。导致配置文件损坏。因此,我想知道在保存文件时是否有任何文件级锁定

试图查看
.Save
的源代码,这似乎归结为接口调用
IInternalConfigHost.OpenStreamForWriting
。但这是一个界面,所以我自己无法轻松回答这个问题

对措辞做了一些修改


基本上,我想知道user.config文件是否会因为我的应用程序的多个实例同时写入而损坏。

您可以使用互斥锁对象。 它防止了多线程和多进程之间对共享对象的模拟用户访问

参考下页。

如果程序的两个或多个实例试图写入同一配置文件,则在调用
.Save

您可以使用来同步多个实例的访问。你可以检查一下如何正确操作


但是,您需要考虑的一件事是:如果您的一个实例更新了配置文件,是否应该通知其他实例并重新加载它以提供一致的行为?

不确定您的问题是否正确。。。从一个文件读取多个实例完全没有问题,但一次只能有一个文件具有写访问权限。哦,对不起,你基本上回答了我的问题。我认为几个程序可以同时具有写访问权限。这是答案,因为它解决了文件写入问题。至于通知更新。是的,我需要这个。然而,这是另一种说法。