计算asp.net webform中的下载时间

时间:2014-06-12 00:17:36

标签: c# asp.net download

我正在尝试计算下载文件所需的时间,作为监控应用的一部分。我目前在下载按钮点击事件中执行此操作的方式如下

  1. 在下载操作发生之前花点时间
  2. 使用WebClient和HTTPResponse完成下载操作
  3. 花点时间在页面上更新。
  4. 问题是在第二步之后,我正在更新统计信息的页面上的标签上没有更新,因为没有回发或控件离开页面。这是我程序中的代码片段。

            //Taking time stamp before download
            TimeSpan sdt = DateTime.Now.TimeOfDay;
    
            //Downlaod operation
            System.Net.WebClient req=new System.Net.WebClient();
            HttpResponse response = HttpContext.Current.Response;
            response.AddHeader("Content-Disposition","attachment;filename=" + filePath);
            byte[] data=req.DownloadData(filePath);
            response.BinaryWrite(data);
    
            //Getting end time
            TimeSpan edt= DateTime.Now.TimeOfDay;
            TimeSpan dd = endDownloadTime - startDownloadTime;
    
            //Setting The lable
            DownloadDuration.Text = String.Format("{0}:{1}:{2}:{3}", dd.Hours, downloadDuration.Minutes, downloadDuration.Seconds, downloadDuration.Milliseconds);
    

    使用上面的代码,下载发生但标签没有更新,因为没有回发。所以,我甚至尝试将下载按钮和标签放在更新面板中。但是,下载按钮不起作用。任何人都可以让我知道任何更清晰的方式来获得下载延迟?或者如何解决上述问题?

0 个答案:

没有答案