很奇怪 微软都做了些什么?[2]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

     p_page.Response.AppendHeader("Content-Length", (fileLength - startBytes).ToString());
     if (startBytes != 0)
     {
      p_page.Response.AppendHeader("Content-Range", string.Format(" bytes {0}-{1}/{2}", startBytes, fileLength-1, fileLength));
     }
     p_page.Response.AppendHeader("Connection", "Keep-Alive");
     p_page.Response.ContentType = "application/octet-stream";
     p_page.Response.AppendHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(p_strFileName,System.Text.Encoding.UTF8));

     br.BaseStream.Seek(startBytes, SeekOrigin.Begin);
     int maxCount = (int) Math.Floor((fileLength - startBytes) / pack) + 1;
     
     DateTime DownTimeStart = DateTime.Now;

     for (int i = 0; i < maxCount; i++)
     {
      if(i == 1)
      {
       DownTimeStart = DateTime.Now;
      }

      if (p_page.Response.IsClientConnected)
      {
       p_page.Response.BinaryWrite(br.ReadBytes(pack));
       p_page.Response.Flush();
       Thread.Sleep(sleep);
       //开始计算时间
       bRtn = true;
      }
      else
      {
       maxCount = i;
       bRtn = false;
       break;
      }
     }
     #endregion
     System.TimeSpan tsDownTimeLen = DateTime.Now -DownTimeStart;
     this.FactDownSpeed = (int)Math.Floor((int) Math.Floor((startBytes + maxCount * pack ) / tsDownTimeLen.TotalSeconds) / 1024);
    }
    catch
    {
     bRtn = false;
    }
    finally
    {      
     p_page.Response.Flush();
     br.Close();
     myFile.Close();      
    }
    #endregion     
   }
   catch
   {
    bRtn = false;
   }

   return bRtn;
  }

本文关键:很奇怪 微软都做了些什么?
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top