
[英]Win10 .NET 3.5 RSACryptoServiceProvider.Dispose throws CryptographicException (ACCESS DENIED or SHARING VIOLATION)
[英]File rename fails with access denied (sharing violation)
我的程序创建一个文件,对其进行写入,关闭,将其重命名为其他名称。 对于一个客户,重命名通常会因共享冲突而失败,并且我无法重现此问题。
该程序是异步的并且是多线程的,其中创建和写入保证在关闭和重命名时已完成,但是由于处于不同的线程中,关闭和重命名可能以任何顺序发生。
客户向我保证没有安装AV或备份程序,并且我们已尝试禁用Windows搜索。
当关闭发生在重命名之前或之后,一切正常(使用共享的read + write + delete标志打开文件)。 但是,当它们发生得非常近时,有时会失败。 与ProcessMonitor一起运行时,不会发生此错误。
我知道重命名是由几个文件操作(打开,设置信息,至少关闭)组成的,因此我假设关闭文件可能与文件重命名交织在一起,这似乎是重命名的核心问题。
通过确保重命名后文件已关闭,我将能够解决该问题。 但是我不完全了解导致共享冲突的原因,我想知道更多这是为什么的问题。 谁能给我更多有关发生的情况的信息?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.