将.NET资源提取到共享位置的安全方法

时间:2014-02-17 14:40:27

标签: c# .net filesystems locking file-locking

在StackOverflow上解压缩嵌入式资源has been already discussed的方法。遗憾的是,提供的解决方案不适用于可能同时从多个进程执行的库,这可能导致解压缩资源损坏或一些虚假异常。

我正在寻找一种以安全的方式解压缩嵌入式资源的方法,我的意思是:

  1. 不会创建不必要的文件副本。如果它是同一个文件,它应该在同一个位置。

  2. 该文件的多个版本可以在文件系统中共存。

  3. 解压缩后,文件将至少与解压缩文件的过程一样长,并且所有读取文件的尝试都将成功。

  4. 有多少进程同时执行解包过程并不重要。结果总是一样。

  5. 如果解包在一个进程中被中断,其他进程(并发或顺序执行)将能够透明地恢复。

0 个答案:

没有答案