代码之家  ›  专栏  ›  技术社区  ›  Petrus Theron

用于从Windows服务写入的锁定文件

  •  0
  • Petrus Theron  · 技术社区  · 15 年前

    我想锁定一个用于从Windows服务写入的文件,但到目前为止,我试图获取一个锁的操作都不起作用。不过,同样的代码也适用于控制台应用程序。

    据我所知,这是因为 opportunistic locking 没有为我的服务启用。

    如何通过从服务中锁定文件而不诉诸注册表黑客来防止文件被写入?

    要锁定的代码:

    FileStream lockStream = new FileStream(path, FileMode.Open, FileAccess.Read);
    

    解锁代码:

    lockStream.Close();
    lockStream.Dispose();
    
    2 回复  |  直到 15 年前
        1
  •  1
  •   Shiv Kumar    15 年前
      using (fs = new FileStream("somefile.txt", FileMode.Open, FileAccess.Read, FileShare.None))
      { }
    

    打开文件进行读写时,是否使用了文件共享模式?

        2
  •  0
  •   smirkingman    15 年前

    使用 Global Mutex 非常小心地释放它(最终等)

    推荐文章