|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
数据挖掘有点高深的,主要估计就是使用一些算法提取一些实用的数据。学好数据挖掘的话可以应聘baidu或者google,但是一般人家对算法的要求听高的。你最好还是学点应用型的吧。这种主要是研究型的。在博客园上一搜就能够找到良多关于“asp.net多线程断点续传”这方面的文章,如
http://zzk.cnblogs.com/s?w=asp.net+%e5%a4%9a%e7%ba%bf%e7%a8%8b%e6%96%ad%e7%82%b9%e7%bb%ad%e4%bc%a0&p=1
可是经由我测试,没有一个是真正有用的。
在这篇文章中(http://www.ckuyun.com/bestcomy/archive/2004/08/10/31950.html)我2007年就留言:(37楼),成绩到如今还没有办理。
利用以下办法测试:
1、vs2010间接启用调试。
2、把代码编译到release版本,.NET2.0、.NET4.0都有,分离公布到win2003+iis6、win2008+iis7中。
3、然后用下载软件(如收集传送带、收集蚂蚁、迅雷等)会见这个供应下载的网址,下载软件开10个义务,每一个义务10线程,每一个义务下载限速50K摆布。
了局形成asp.net给间接挂起了!实验会见任何aspx的页面则一向处于挂起形态,即页面没法翻开,IE9选项卡的谁人形态标记一向在转。
一入手下手觉得是测试体系IE9到达最年夜链接数了(可是开其他第三方网站是能够的),即刻在其他电脑会见也不可,形态一向挂起,乃至影响到这台服务器上的其他网站,只需是aspx的全体逝世失落,静态的又能够一般会见(jpg、CSS、js等文件),服务器的cpu和内存不占几,几近可疏忽,下载软件中断下载后又恢复了!其实是想不出甚么好办法了。
再次附上我的代码,和在博客园搜到文章上的差未几:
- protectedvoidPage_Load(objectsender,EventArgse){stringq=Request.QueryString.Get("q");System.IO.FileInfof=newSystem.IO.FileInfo(Server.MapPath("/")+q);intspeed=5000;//5KFileStreamfile=newFileStream(f.FullName,FileMode.Open,FileAccess.Read,FileShare.Read);BinaryReaderbr=newBinaryReader(file);Response.AddHeader("Accept-Ranges","bytes");Response.Buffer=false;longfileLength=file.Length;longstartBytes=0;intbuff=10240;//每线程10Kbytesintsleep=1000*buff/speed;if(Request.Headers["Range"]!=null){Response.StatusCode=206;string[]range=Request.Headers["Range"].Split(newchar[]{=,-});startBytes=Convert.ToInt64(range[1]);}//增加头信息,指定文件巨细,让扫瞄器可以显现下载进度Response.AddHeader("Content-Length",(fileLength-startBytes).ToString());if(startBytes!=0){//撑持多线程,文件分段处置Response.AddHeader("Content-Range",string.Format("bytes{0}-{1}/{2}",startBytes,fileLength-1,fileLength));}//坚持链接Response.AddHeader("Connection","Keep-Alive");//设置输入流数据范例。增加头信息,为"文件下载/另存为"对话框指定默许文件名Response.ContentType="application/octet-stream";Response.AddHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(f.Name,System.Text.Encoding.UTF8));//界说流的地位br.BaseStream.Seek(startBytes,SeekOrigin.Begin);longdataSent=fileLength-startBytes;longdataLeft=0;while(dataLeft<dataSent){if(Response.IsClientConnected){Response.BinaryWrite(br.ReadBytes(buff));dataLeft+=buff;Response.Flush();Thread.Sleep(sleep);}else{dataSent=-1;}}Response.End();br.Close();file.Close();}
复制代码
前天傍晚我发表了《net网页编程的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。 |
|