![]() |
1
2
首先,我假设每个进程都有某种可用的唯一标识符。这可以是一个进程ID,或者在没有竞争条件的情况下保证是唯一的。将该值写入具有相同名称的文件,这样您就不会在创建该文件时遇到竞争。然后,如果不存在,将其移动到名为“lock”的文件中。通过查看内容来检查这是否成功。现在从确认号文件中读取该值。检查“lock”文件中是否有您的唯一标识符——这可以确保不会有两个人试图将文件移动到lock。如果是您的,请将递增的编号和唯一ID写回确认号文件。再次检查您是否持有锁,确认号文件是否具有您的ID。然后删除锁文件。 如果失败,只需等待锁定文件消失,然后再试一次。 这将允许您以无争用的方式写入文件,并确保序列号始终增加1。 |
![]() |
2
0
您可以在Windows注册表中跟踪确认号,但如果提供了该选项,那么按照您的建议使用简单的文本文件可能会更容易。确保每次清除(即释放)文件句柄以释放任何文件锁。 |
![]() |
3
-1
我认为XML是一个很好的解决方案。 This post可能会使XML对您来说更加容易。 |
![]() |
user1946932 · .Net正则表达式在所有字符前添加空格 5 月前 |
![]() |
TSDrake · 发布ASP。没有特定文件夹的.NET应用程序 6 月前 |
![]() |
Vengat Ramanan · 用户登录Asp时隐藏导航和页脚。网络核心 10 月前 |
![]() |
ramamoorthy_villi · 输入验证错误外键字段 10 月前 |
![]() |
Enderbyte09 · ASP。NET Core绝对拒绝在其他端口上托管 11 月前 |