gpt4 book ai didi

asp.net - 如何在一台Web服务器上在ASP.NET网站和ASP.NET Web服务之间同步对文件的访问

转载 作者:行者123 更新时间:2023-12-03 13:22:43 25 4
gpt4 key购买 nike

我已经在同一台Web服务器上部署了ASP.NET网站和ASP.NET Web服务。两者都需要访问共享文件。

如何实现/共享支持单个作者和多个读者的锁?如果有人阅读,没有人可以写作,但是所有人仍然可以阅读。如果有人写,没有人可以读/写。

最佳答案

通过允许System.IO.FileShare.Read的System.IO.File.Open方法打开文件进行写入并允许其他线程读取它。 IE。:

System.IO.File.Open("path.txt",System.IO.FileMode.OpenOrCreate,System.IO.FileAccess.ReadWrite,System.IO.FileShare.Read)

其他(读取)线程应使用System.IO.FileAccess.Read

打开方法的签名:
public static FileStream Open(string path, FileMode mode, FileAccess access, FileShare share);

更新
如果您需要所有实例临时写入文件。使用Mutex类保留文件写入。 IE。:
    Mutex mut = new Mutex("filename as mutex name");
mut.WaitOne();
//open file for write,
//write to file
//close file
mut.ReleaseMutex();

希望能帮助到你。

关于asp.net - 如何在一台Web服务器上在ASP.NET网站和ASP.NET Web服务之间同步对文件的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/201066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com