尝试打开仍在写入的文件时,.Net ZipArchive会冻结

时间:2015-12-29 18:35:08

标签: c# zipfile

我有一个程序可以检查每天(从不同客户端)上传(通过FTP)到我的服务器的zip文件目录,每个zip需要包含一系列特定的数据文件,所以我使用的是ZipArchive类打开文件,检查内容并确保其中包含我们需要的文件,并确保它们最近已更新(以确保我们不上传旧版本)

我的程序在很大程度上起作用,我面临的问题是,如果我正在尝试检查文件当前正在上传,我的检查程序就会冻结。我似乎找不到任何方法。

以下是我的尝试:

using (var zip = ZipFile.OpenRead("FileName")) // <--This is where it freezes. 
{
    // Check the contents
}

我试过这个:

using (var fs = File.OpenRead("FileName"))
{
    using (var zip = new ZipArchive(fs, ZipArchiveMode.Read)) // <-- This is where it freezes.
    {
        // Check the contents
    }
}

最终我只想抛出一个异常,这样我就可以继续下一个文件了。

如果有人有类似的问题或对我可以尝试的内容有任何建议,我们将不胜感激。

0 个答案:

没有答案