C#应用开发与实践 教学课件 作者 胡学钢 第19章 课程设计——雷速下载专家.pptVIP

C#应用开发与实践 教学课件 作者 胡学钢 第19章 课程设计——雷速下载专家.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在软件的开发过程中,由于技术或经验的原因,难免会遇到一些问题。在开发雷速下载专家时,出现的问题主要体现在雷速下载专家无法连接到下载的服务器和无法实现多线程下载资源,下面就讲解关于这两方面的解决问题思路。 19.6 调试运行 使用雷速网络下载专家添加新的任务时,可能会出现如图19-5所示的WebException异常。 图19-5 无法连接到远程服务器或下载资源 跟踪该异常,发现它出现在HttpWebRequest对象的GetResponse方法中,但追踪其来源,它主要是由于无法连接远程服务器或未能找到下载资源造成的。找到此异常的来源后,需要作出一个友好的处理方法,可以使用try catch块捕获异常,捕获到异常后,本类中不做处理,然后将此异常抛向应用层,由应用层处理此异常,应用层会将异常信息写入log日志文件,然后通知用户“未能找到文件下载服务器或下载文件,请添入正确下载地址!”。 19.6.1 无法连接到下载服务器 使用雷速网络下载专家在互联网下载网络资源时,要注意,一些互联网的网络资源服务器不提供多线程下载,即使我们在雷速中设置了使用多线程下载,但是实际工作方式是,所有线程不能并发访问服务器资源,只能是所有线程等待一条线程下载完毕后,再由下一条线程继续下载。 注意: 雷速网络下载专家提供了最多12条线程同时下载文件,但是有一点要注意,在下载网络资源时,并不是使用线程数量越多下载速度就越快,要根据实际情况,适当选择相应的线程数量,这样才能达到理想的下载效果。 19.6.2 无法使用多线程下载资源 19.7 课程设计总结 19.7.1 技术总结 19.7.2 经验总结 课程设计是一件很累人很伤脑筋的事情,在课程设计周期中,大家每天几乎都要面对着电脑数小时以上,上课时去机房写程序,回到宿舍还要继续奋斗。虽然课程设计很苦很累,有时候还很令人抓狂,不过它带给大家的并不只是痛苦的回忆,它不仅让拉近了同学之间的距离,而且对大家学习计算机语言是非常有意义的。 在没有进行课程设计实训之前,大家对C#语言的知识掌握只能说是很肤浅,只知道分开来使用那些语句和语法,对他们根本没有整体感念,所以在学习时经常会感觉很盲目,甚至不知道自己学这些东西是为了什么;但是通过课程设计实训,不仅能使大家对C#语言有更深入的了解,同时还可以学到很多课本上学不到的东西,最重要的是,它让我们能够知道学习C#语言的最终目的和将来发展的方向。关于雷速下载专家这个软件,下面就从技术和开发经验两个方面做出以下总结。 19.7 课程设计总结 (1)适当的使用线程增加应用程序友好度 窗体应用程序在做大量复杂的运算或比较耗时的I/O操作时,可能会出现窗体间歇性无响应情况,问题在于主窗体线程将CPU资源过多的分配给运算或I/O操作,所以导制了窗体反应速度慢或无响应情况,解决此问题的最好方法就是适当的使用线程,来缓解窗体线程的压力,使用户对窗体的操作轻松、流畅。 在使用线程时,如果线程执行方法的代码比较少,可以在线程中使用匿名方法或Lambda表达式,这样会使代码更简洁、明了。线程中使用匿名方法,代码如下: System.Threading.Thread th = new System.Threading.Thread( //创建线程 delegate() //线程中使用匿名方法 { System.Console.WriteLine(线程中执行的代码); }); th.Start(); //开始执行线程 另外,也可以在线程中使用Lambda表达式,代码如下: 19.7.1 技术总结 System.Threading.Thread th = new System.Threading.Thread( //创建线程 () = //使用Lambda表达式 { System.Console.WriteLine(线程中执行的代码); }); th.Start(); //开始执行线程 说明:Lambda表达式是C#3.0之后出现的新特性,可以将Lambda表达式理解为匿名方法的一个超集,Lambda表达式与匿名方法比较则显得更为简洁。 (2)使用HttpWebRequest对象批量下载网络资源 在读过前面的内容后,你一定对HttpWebRequest对象有了深入的了解,前面的代码中使用了HttpWebRequest对象下载网络文件资源,我们也可以使用HttpWebRequest对象在网络中下载图片等其它信息,可以通过分析Html信

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档