2
我有一個非常簡單的程序,使用DotNetZip(最新版本)與C#.Net,VS2010。當它試圖保存已經壓縮的文件時,它已經開始掛起。沒有錯誤信息,沒有任何東西。它運行良好很長一段時間,然後突然開始顯示這種間歇性症狀。我在MS Server 2003上使用批處理系統運行它,但我在Win7上測試它。兩個系統都會產生間歇性故障。大約80%的時間失敗。DotNetZip間歇掛起
想法?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ionic.Zip;
namespace ZipUpSourceFiles
{
class Program
{
static void Main(string[] args)
{
string YYYYMMM = DateTime.Today.ToString("yyyy-MMM");
string TargetPath = @"\\winntdom\root\common\xxx\secure\Construction\Access\All Database Backup\" + YYYYMMM + @"_Backup\";
string SourcePath = @"\\winntdom\root\common\xxx\secure\Construction\Access\YYYY\";
string ZipName=DateTime.Today.ToString("yy-MM-dd") + @".zip";
string ZipWithPath = TargetPath + ZipName;
if (!System.IO.Directory.Exists(TargetPath))
{
Console.WriteLine("Creating Directory");
System.IO.Directory.CreateDirectory(TargetPath);
}
if (System.IO.File.Exists(ZipWithPath))
{
Console.WriteLine("Deleting file");
System.IO.File.Delete(ZipWithPath);
}
using (ZipFile zip = new ZipFile())
{
Console.WriteLine("Zipping up Directories");
zip.AddDirectory(SourcePath); // recurses subdirectories
Console.WriteLine("Saving Directories {0}",ZipName);
zip.Save(ZipWithPath);
Console.WriteLine("Finishing Up");
}
}
}
}
你的存儲和NW吞吐量對於\\ winntdom來說如何?您是否考慮過在本地複製文件,在本地進行壓縮並複製回來? – tgolisch
這是一個開源項目,所以你可以自己調試它。如果你不想再使用另一個圖書館,那麼有很多。 –
對我而言,這只是一個預期的結果。壓縮比較昂貴,通過UNC複製也是如此。如果它不掛,那麼我會感到驚訝。 –