-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
必现的一个无法写入文件的问题 #61
Comments
@GaoLinHuang 感谢,但是由于现在依赖时间用来做同步更新,也许不会改此问题 |
修改时间的场景还是会有的,比如修改了时区等,将会导致无法更新。重启也不会更新的。这就是一个致命问题 |
目前是这样的场景,A进程本身修改之后,其实也会通知到进程A,其他进程修改时也会通知到A进程。有一个循环通知了。 |
@GaoLinHuang 理论上改时区是没有问题的,如果改时区有问题,那就是 bug 了,我要去修 |
场景是这样:如果文件已经存在,并且修改过。然后将时区改成东七区或者其他时区,此时会操作系统的时间比文件修改的时间要早了。这个情况下,文件无法修改同步到本地的,重启电脑也无法解决 |
我现在改成,判断是进程内部更改还是进程外部更改了。进程内部更改的时候我就不监听外部文件改变了。然后同步完成数据后再监听文件的改变。通过判断是否是内部进程改变来决定是否是更新文件到缓存,还是更新缓存到本地。与时间无关了。我本地验证多进程暂时没有啥问题。不过我再压测一下 |
@GaoLinHuang 我似乎没有复现你的问题,我重新看了代码,在 FileDictionarySynchronizer 里,采用的是 DateTimeOffset 方式,读取的是 LastWriteTimeUtc 属性,理论上是没有时区问题 |
修改时区确实是不会导致无法写入的问题,因为修改时区后,文件也会自动同步时间。 |
@GaoLinHuang 那问题还行 |
文件已经创建并有值后,修改系统时间比当前修改文件的时间更早,重启电脑,启动软件,无法修改和同步文件
The text was updated successfully, but these errors were encountered: