Asp.net 下载zip文件中的线程
我试图做的是创建一个zip文件并下载这些文件。 这是我的控制器Asp.net 下载zip文件中的线程,asp.net,asp.net-mvc,multithreading,Asp.net,Asp.net Mvc,Multithreading,我试图做的是创建一个zip文件并下载这些文件。 这是我的控制器 public FilePathResult Download(string Name) { string f1=null; try { f1 = _dbBackupServiceService.DownloadBackupFile(Name); } catch (Exception ex)
public FilePathResult Download(string Name)
{
string f1=null;
try
{
f1 = _dbBackupServiceService.DownloadBackupFile(Name);
}
catch (Exception ex)
{
}
return File(f1, "application/zip", Name + ".zip");
}
服务层也是这样的
public string DownloadBackupFile(string Name)
{
string backupFolder = HttpContext.Current.Server.MapPath("~/DbBackup");
string filePath = backupFolder + "\\" + Name;
string zipFilePath = filePath.Substring(0, (filePath.Length - 3)) + "zip";
var backupFileName = Path.GetFileNameWithoutExtension(filePath);
var zipFileName = Path.GetFileName(zipFilePath);
if (File.Exists(zipFilePath))
{
}
else
{
ZipArchive zip = ZipFile.Open(zipFilePath, ZipArchiveMode.Create);
zip.CreateEntryFromFile(filePath, Name);
}
return zipFilePath;
}
我面临的问题是,当我为那些没有创建zip文件的文件单击下载操作时。当下载线程运行且hencee和浏览器显示错误时,处理器将持续创建zip文件。而已创建的zip文件已成功下载。我怎样才能等到zip文件成功创建后再进行下载?请添加以下语句 睡眠(5000)//这将使线程休眠5秒钟 声明之后 CreateEntryFromFile(文件路径,名称)
如果你仍然有这个问题,那就增加睡眠时间。多糟糕的主意!避免通常需要花费大量时间的iTunes,让您的用户离开,然后通过电子邮件通知他zip已完成,这是下载链接。。。