Asp.net 下载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)

我试图做的是创建一个zip文件并下载这些文件。 这是我的控制器

     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已完成,这是下载链接。。。