C# 将文件锁定在共享位置

C# 将文件锁定在共享位置,c#,io,locking,C#,Io,Locking,我们有C#windows应用程序。它被如此多的用户并行使用。应用程序使用来自共享位置(服务器)的一个xml文件。这个应用程序在许多方法中使用这个文件 我的问题是,如果一个用户开始使用这个文件,那么如果任何其他用户尝试使用同一个文件,它应该向用户显示一条消息,说明某个用户在一段时间后尝试使用该文件 注意:如果我在一个方法中使用,我可以说使用(Filestream………),但我在多个方法中使用 坏主意:如果用户开始使用该文件,请重命名它(例如:sample.xml.loc)。如果文件名以.loc结尾

我们有C#windows应用程序。它被如此多的用户并行使用。应用程序使用来自共享位置(服务器)的一个xml文件。这个应用程序在许多方法中使用这个文件

我的问题是,如果一个用户开始使用这个文件,那么如果任何其他用户尝试使用同一个文件,它应该向用户显示一条消息,说明某个用户在一段时间后尝试使用该文件


注意:如果我在一个方法中使用,我可以说使用(Filestream………),但我在多个方法中使用

坏主意:如果用户开始使用该文件,请重命名它(例如:sample.xml.loc)。如果文件名以.loc结尾,其他人应该等待。如果第一个用户完成了他的工作,请将其重新命名为sample.xml。那么该文件将对所有用户都可用。如果该文件未存储在运行该应用程序的计算机上,我认为您无法期望能够安全地锁定它。SQLite开发人员也遇到了这个问题。当UserA使用该文件时,他是否正在修改它?@Pravprab:如果用户没有更改文件名的写入权限怎么办。如果是只读的?如果文件是只读的,为什么需要锁定它?