У меня есть проект окон, в котором я застегиваю папку. Форма замораживается в течение 3-4 секунд, а затем выполняется операция.Форма замораживается в течение x секунд, когда zip-папка в C#
private void ZipSafe(string p_FolderName, string p_ArchiveName)
{
try
{
if (File.Exists(p_ArchiveName))
File.Delete(p_ArchiveName);
string[] l_DataSet = Directory.GetFiles(p_FolderName, "*.txt");
using (ZipArchive l_Zip = ZipFile.Open(p_ArchiveName, ZipArchiveMode.Create))
{
foreach (string l_File in l_DataSet)
{
using (FileStream l_Stream = new FileStream(l_File, FileMode.Open, FileAccess.Read, FileShare.Delete | FileShare.ReadWrite))
{
ZipArchiveEntry l_ZipArchiveEntry = l_Zip.CreateEntry(Path.GetFileName(l_File), CompressionLevel.Optimal);
using (Stream l_Destination = l_ZipArchiveEntry.Open())
{
l_Stream.CopyTo(l_Destination);
}
}
}
l_Zip.Dispose();
}
}
catch (System.Exception e)
{
using (StreamWriter sw = new StreamWriter(@"C:\Users\**\Documents\ErrorZip.txt"))
{
string l = e.ToString();
sw.WriteLine(l);
sw.Close();
}
}
}
Я вызываю эту функцию при нажатии на кнопку. Я попытался использовать отладчик, чтобы понять, что здесь происходит. Замораживание происходит во время второй итерации для-каждого цикла, для следующей строки кода:
l_Stream.CopyTo(l_Destination);
Я знаю, что было много сообщению о проносясь папки в C#, все-таки я надеюсь, что мой вопрос актуален , Любая помощь будет отличной, заблагорассудившись, парень.
Иметь хороший день, vbvx
Использование фона рабочего? –
В чем вопрос? – Default
Почему он замерзает и могу ли я предотвратить его замораживание? – vbvx