【问题标题】:How to lock a file on network (in Windows)?如何锁定网络上的文件(在 Windows 中)?
【发布时间】:2012-07-12 13:25:30
【问题描述】:

我有一个服务(C# 服务)在多台计算机上运行并共享同一个文件(在网络存储上,比如 NAS)。我想确保在执行写操作时,我应该能够获得文件的锁,写入然后解锁它。

如何在网络上锁定文件,写入文件时?

【问题讨论】:

  • 一次只有一个进程可以写入文件。所以让操作系统担心那部分。
  • 这里的问题是这些进程可能运行在不同的机器上而不是相同的。
  • 如果您以写入权限打开文件并且没有明确要求写入共享,它将自动以独占方式打开文件,并锁定对它的访问权限。
  • 请更具体地说明您所说的“获取锁”是什么意思。你想让这个锁完成什么?防止文件被删除?阻止另一个进程写入文件?防止另一个进程锁定文件?

标签: c# windows file-io filesystems multiprocessing


【解决方案1】:

【讨论】:

  • 同样,这些锁保证文件只会在同一台机器上的进程之间被安全地锁定。不同机器上运行的进程怎么样?
  • @atVelu:是什么让您认为这些方法不适用于在不同机器上运行的进程?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多