我把知道的给我启发 任务 怎么做按上边做了,怎么进度还不升...

清新区2017年各项民生实事进度如何你们关心的都在这!
&&&&&&&&核心提示:近日,清新区公布2017年民生实事上半年的进展情况,有关年度脱贫、乡镇卫生院改造升级工程等项目进度如何?这些与清新人息息相关的项目都落实了吗?今年初,区政府将2017年区民生实事细化***为22项具体工作任务,明确牵头承办单位、分管负责人和阶段性工作目标。截至7月底,22项具体工作任务中,有14项进展。...
微信文章《清新区2017年各项民生实事进度如何你们关心的都在这!》由微信公众号发布,以下是小编收集整理的[百家号]作者:清新TV2017年上半年已过,本年清新区十件民生实事进展...按照清新区政府通报的十件民生实事进度情况,备受...据了解,为民办实事项目涉及群众最关心、最直接的...,希望对您有帮助.清新区2017年各项民生实事进度如何你们关心的都在这!(热门篇)2017年上半年已过,今年清新区十件民生实事进展...根据清新区政府通报的十件民生实事进度情况,备受...据了解,为民办实事项目涉及群众最关心、最直接的...各镇人民政府、笔架林场、区政府各部门、各直属机构:《2017年区政府十件民生实事》已经区政府八届六次政府常务会议通过,现印发给你们,请认真组织实施。2017年3月...清新区2017年各项民生实事进度如何你们关心的都在这!(精选篇)近日,清新区公布2017年民生实事上半年的进展情况,有关年度脱贫、乡镇卫生院改造升级工程等项目进度如何?这些与清新人息息相关的项目都落实了吗?今年初,区政府将2017年区民生实事细化***为22项具体工作任务,明确牵头承办单位、分管负责人和阶段性工作目标。截至7月底,22项具体工作任务中,有14项进展顺利。城乡低保、农村五保、医疗救助、残疾人、孤儿基本生活保障工作基本完成提高城乡低保、农村五保、医疗救助、残疾人、孤儿基本生活保障水平工作已基本完成。其中低保和农村五保提标工作已于6月份完成,并补发1~5月低保金差额。也完成了残疾人“两项补贴”提标工作,第1季度“两项补贴”已发放到位。文化配套设施逐步增多在文化建设的其他方面,镇文化室、农家书屋、图书馆完成配书50000册,建成3间自助图书馆。目前正在修改3间自助图书馆的设计方案,并积极精选图书类别和书目,做好购书招标工作,待图书馆建成后一并完成配书工作。保底扶贫、新增就业、妇联两癌筛查等进展顺利2017年上半年我区积极推进保底扶贫项目工作,完成年度脱贫7000人的目标任务。为符合条件的贫困户提供扶贫小额信用贷款工作。目前签订信贷合同人,发放扶贫互助金贷款72万元,受益农户17户。现阶段已完成清新城区饮用水源取水口上移,目前已完成200米的压力管道铺设和20个支墩的桩基础,现正进行取水泵房桩基础施工。完成工程投资470万元,完成投资任务的40%。新增城镇就业6000人以上,组织创业就业培训1000人以上。1~6月份实现城镇新增就业人数4615人,完成任务的76.92%;实现创业就业培训人数405人,完成任务的40.5%。免费为贫困妇女开展宫颈癌筛查和乳腺癌筛查。目前共完成5436例,占任务的56.04%。乡镇基础设施建设不断完善龙颈、石潭卫生院改造升级工程进行中,其中龙颈镇卫生院目前已完成招投标及前期相关报建工作,已于7月中旬进场施工,预计10月底前完工。石潭镇卫生院目前已完成监理和施工招标工作,预计8月动工,12月底前完成主体工程。另外已建成120个村庄生活污水处理系统。已对各镇进行摸查,初步确定了150条村庄开展生活污水处理系统建设,目前正引导各村进行资金筹集和让地工作,已有15条村动工建设。2017年上半年,清新区的民生实事取得了一定进展,大部分工作能顺利推进,下一步清新区将进一步强化措施,狠抓落实,确保按时间节点有序推进,圆满完成清新区民生实事的办理任务。 编辑:邓玉敏校对:官家英 黄沛雯清新区2017年各项民生实事进度如何你们关心的都在这!(相关篇)来源:清新区人民政府网[]日前,区政府公布“2017年区政府十件民生实事”,“增加中心城区公办小学和幼儿园学位”成为其中一件。这件民生...2017年清远市十件民生实事出炉!其中,清城区、英德市各20条,清新区15条,...在落实省十件民生实事各项任务的同时,今年,清远市政府将投入3.86亿元,全力...看过此文的人还找过:2017盘锦民生实事2017年十件民生实事河南省2017年民生实事重庆市2017年民生实事2017年民生实事2017年广州市民生实事2017年十大民生实事甘肃省2017年民生实事2017年吉林省民生实事
***清远市清新区委宣传部官方公众号...
为了满足患者的就医需求,改善清新区的医疗卫生条件,清新区于2014年4月开始动工扩建区人医综合大楼,今年8月基本竣工,目前进入验收阶段,预计11月份将投入使用。清新区人民医院创建于1994年,据统计,1996年病床总数80张,后来,随着业务的不断发展,病床数也不断增加,目前,床位数已经增加至600张。...
昨日(10月12日)上午,清远市政府与广东出入境检验检疫局签署合作备忘录,双方将在提升清远区域产品质量水平、优化营商环境、帮扶外向型重大产业项目、推动公共检测技术服务平台建设等方面开展合作。广东出入境检验检疫局局长施宗伟、市委书记葛长伟、市长郭锋等出席并见证签约,清新区副区长郑伟其参加仪式。仪式上,。...
10月11日下午,区长张仁建一行到迳口治超点以及部分企业督查安全生产和治超工作落实情况。区领导林明晓、叶军强、张国力、邹早银参加了督查活动。在迳口治超点和清新水泥、广英水泥等企业的治超工作点,张仁建一行查看了治超的软硬件设施,了解人员配备、值班值守、工作记录、执法检查等工作开展情况,详细询问治超过程。...
学生排演禁毒宣传小品《妈妈,我错了》、举行禁毒主题征文和手抄报比赛、联合家长参与禁毒法制宣传教育活动......近年来,清新区职业技术学校根据新时期德育工作的特点,把禁毒教育与学校德育工作紧密地结合起来。在禁毒、拒毒的宣传氛围下,清新区职校的师生员工接受毒品预防教育率已达到了100%,没有发生过违法。...
生活中的你有多爱干净?从不敢轻易坐在公共卫生间的马桶圈上,摸过公交把手后一定要洗手,餐馆餐具一定要用热水再“消毒”一遍……其实,我们身边一些看似干净的物品,细菌含量也非常惊人,更应该时刻小心。漱口杯、铁锅等很多家居用品,用久了就会形成一层厚厚的污垢,不仅影响美观,有的还容易滋生细菌、损害健康。刷牙后。...
中秋国庆长假一眨眼就只剩下两天了,很多学生或者打工一族这两天都开始收拾行囊,准备返回学校或者工作岗位。又一次团聚过后的分离,我们可以带走的,除了是家人的一份祝福和期盼外,也可以带走这些属于家乡的味道,一起把这份熟悉的舌尖感受,带到远方吧!不仅让自己在异地能够感受到家乡的温暖,也可以把清新的好山好水好。...
十一期间,石潭镇联窖村委会水西村的芦笋节办得颇有特色,吸引了众多游客前往。清新区近年来大力发展芦笋种植业,水西村因为环境优美、土地肥沃,种植规模达到了400多亩,不仅出品的芦笋品质佳,该村还抓住机遇把芦笋种植打造成为一个旅游-产业综合体,值得其他美丽乡村借鉴。距离水西村不远的建庄村,最近也打造了一片。...
今天(10月10日)上午,禁毒宣传活动走进龙颈镇河洞村,为这里的村民上了一堂生动形象的禁毒宣传课。在宣传课上,禁毒办的工作人员通过展板和实物,讲解毒品的种类和危害,为村民普及关于毒品的知识。现场共展出了44种毒品类型,包括***、***、***、摇头丸等等,除了传统样式之外,也有新型样式。据了解,现在很。...
在众多火灾事故中,居住出租房火灾事故尤为突出。消防安全条件差,随意用火、用电、用油、用气等现象屡屡发生,导致出租房管理依然是城市管理的一大难点。日前,《广东省关于加强居住类租赁房屋火灾防范的措施》出台, 对房东的责任、出租屋的消防硬件配套,日常管理等作了8项具体要求。同时,消防部门提醒居民群众发现存。...
不知不觉之中,咱们的国庆中秋长假就过完了,如果要你回顾整个国庆中秋假期,你的关键词是什么?下面就让小编用4个关键词,为各位回顾一下2017这个国庆中秋的清新吧!关键词:交警救人出游高峰,公路上的状况真的寸步难行。国庆期间,一名妇女就在送医途中碰上堵车,清新交警在接到消息后,迅速行动,为患者开通生命通。...
每年五月的第二个星期六,都是清新区慈善会大病关爱基金的确定募捐日,为清新区的大病家庭募捐筹款,帮助他们渡过难关。近两年,大病关爱基金更是不断创新手段,通过线上捐款和线下活动,不断扩大项目影响力,呼吁更多人加入到行善行列中,帮助更多有需要的人。其中2016年举办的千人行募捐活动,组织清新区干部职工和爱。...
清新区笔架山上的坑尾村、坑口村以及根竹园村等地,平时与外界的联系仅靠笔架山口一条约两车道宽盘山而上的水泥路,以前村民们寄送快递,都要跑很远的地方。近日,这里建起了首个快递营业网点,村民寄快递方便多了。旧时收寄快递要去到城区坑尾村、坑口村以及根竹园村这三条山村户籍人口共约2000人,实际居住共约800。...
为了深入贯彻《***中央关于加强和改进党的群团工作的意见》,落实全国妇联和省妇联对新时期妇联工作的新要求,根据省、市、区妇联工作部署要求,龙颈镇村(社区)妇代会改建妇联工作从今年7月开始全面铺开。通过一系列紧张有序的筹备工作,目前,龙颈镇已进入了妇代会改建选举实施阶段,力争在2017年10月底完成该镇。...
各位小伙伴们,今天已经是假期后返工返学的第三天啦!你们都已经摆脱假期综合征了嘛?当然啦,在重新投入到工作当中去的时候,也别忘了动手查查,假期出行时,你们的爱车有没有违法记录啊!有的司机朋友习惯使用用某宝、某信或者一些来路不明的网站进行违法罚款代缴***,但这些网络平台不仅要支付***费用,还得花时间等结。...
近日清新区开始执行《清远市清新区育龄夫妻自主落实计划生育避孕节育措施误工补助办法(试行)》,一起来看看是怎么回事。为更好地动员育龄夫妻自主落实计划生育避孕节育措施,预防和减少非意愿妊娠,杜绝政策外多孩出生,促进全区计划生育工作全面发展,根据《广东省人口与计划生育条例》的要求,结合我区实际,制定本办法。...
2012年12月清新县撤销,设清远市清新区,以原清新县的行政区域为清新区的行政区域。至今已快有五年了,在这五年的时间里,清新的名称在变化,清新人的生活也在悄然发生着改变。清新区府很多清新人小时候都喜欢到县府玩,因为这里有大片的草地和树荫,还有图书馆,是暑假时候可以呆一整个下午的好地方。自从清新撤县设。...
在这两个多月时间里,清新区三坑镇落实禁毒重点整治工作。目前已破获两宗贩卖毒品案,刑拘2人,抓获吸毒人员6名,强戒3人,治安处罚3人。通过创新禁毒宣传方式、将吸毒人员纳入网格化管理、发动社会力量共同参与,该镇实现村社禁毒“精准发力”、社区禁毒“精确管控”、全民禁毒“精准动员”。村清新区禁毒委员会办公室。...
***马上就要召开了,中国特色社会主义 、“两学一做”、“三严三实”、“四个全面”战略布局、五大战区、分享经济、“放管服”……这些词,你都知道是什么意思吗?***前,这100个关键词你一定要知道!***党代表是怎么选出来的?中国***全国代表大会的召开是党和国家政治生活中五年一次的大事。这些代表是如何。...
10月18日,中国***第十九次全国代表大会,将在北京召开。现在走上清新城区的街头,都可以看到不少户外电子屏、宣传画等,都以迎接党的***为相关内容,整个清新充满了浓浓的氛围。而清新各界人士也是倍感振奋,热烈期盼***的召开,他们对即将召开的***,又有哪些期许呢?区职校以最好的精神状态,迎接党的十。...
清远市人民政府办公室关于2017年冬季期间办公时间调整的通知根据《***清远市委办公室、清远市人民政府办公室关于调整现行作息制度的通知》(清委办〔2011〕48号)精神,我市市直及各县(市、区)党政机关、事业单位(不含高等院校、中小学、幼儿园)冬季期间(10月1日至次年3月31日)办公时间为:上午8∶。...
日,是中华人民共和国诞辰68周年纪念日。68年来,我们伟大的祖国经历了从“站起来”到“富起来”再到“强起来”的伟大历程,一步步接近建设富强、民主、文明、和谐社会主义现代化国家的宏伟目标!根据中央文明委工作安排,清远市文明办联合市教育局、团市委、市妇联、市关工委等多部门开展2017年。...
昨天(9月28日)晚上,“执子之手,缘定清新”----2017“情暖职工”系列活动暨人月两团圆?中秋晚会活动来到诚展(清远)鞋业有限公司,为大家献上了一场精彩纷呈的视听盛宴,现场6000职工带走了欢笑,留下了文明。情暖职工,中秋晚会其乐融融据悉,本次活动由清新区总工会主办、诚展(清远)鞋业有限公司协办、。...
秋意渐浓,天气转凉。初秋不注重养生保养,当心被感冒折磨一个冬天。莲 藕秋天,正是莲藕大量成熟上市的季节,南方产的红花藕,表面粗糙偏肉粉色,口感糯而不脆,最宜用来煲汤食用。/ 补 维C 抗 衰 老 /莲藕富含维生素C、氧化酶和多酚类物质,可增强人体免疫力,延缓***衰老。秋冬季节喝藕汤,可驱寒暖胃,减少。...
9月28日上午,清新区四套班子领导、各镇党委书记及有关单位负责人在内的35名党政领导干部赴广州市花都区交流学习。两区党政主要领导在花都区举行联席会议,展开探讨交流,共商两区对口帮扶合作事宜。联席会议上,清新区委副书记、区长张仁建和广州市花都区委副书记、区长叶志良分别就帮扶合作工作的开展情况作了介绍。。...
过了今天就是国庆长假啦,相信很多人都已经暗自筹备去哪里玩了,但是,无论是清远的本地司机还是途经清远的外地司机国庆期间出行,如果经过这路段都要注意啦!从日起至10月9日止清新区城西大道全路段即从城西大道本源加油站北入口往北至周田 迳口路段实施交通管制(大概就是这段哦)交通管制期间,交。...
今天(9月29日)上午,我区召开美丽乡村暨省定贫困村创建新农村示范村工作会议。区委书记郑小燕要求,建设新农村示范村,要发挥农民群众的主体作用,让农民群众的意愿得到最大程度的尊重。会议由区长张仁建主持,何霖生、李向武、李伯伦等在家的四套班子领导出席。这些奖补事关全区农民为落实贯彻省委省政府、市委市政府。...
今年年初,清新的乡村赏花游火爆了一个春天,姹紫嫣红的花儿引得游人流连忘返,夏天的时候,各大漂流景点火热开漂,也叫人过足了瘾,现在秋天,清新又有什么可以玩呢?近年来清新区的美丽乡村建设如火如荼,结合在精准扶贫和乡村旅游的发展,清新区不少乡村的面貌都焕然一新,环境变好之后,旅游等商业发展潜质便被慢慢挖掘。...
今天上午,清远市公安局清新分局在区人民政府广场举行党的***维稳安保誓师大会,全体参会人员进行了庄严宣誓。区领导郑小燕、张仁建、何霖生、李向武、李伯伦、冯天佑、叶军强等出席大会。区委书记郑小燕向副区长、公安分局局长叶军强授“党的***维稳安保公安突击队”队旗,并就党的***维稳安保工作提出了三点要求。...
今天是我国的第四个烈士纪念日,上午,郑小燕、张仁建、何霖生、李向武、李伯伦等区四套班子领导,各机关单位干部职工、部队官兵、各界群众代表、学生代表到太和镇五星村庙仔岗革命烈士陵园,缅怀革命先烈。祭奠活动在庄严的国歌声中正式开始。少先队员唱响歌曲《我们是共产主义接班人》,表达继承先烈遗志,努力学习的决心。...
昨天(9月29日)晚上,清新区2017“十大文明家庭”、“十大好婆媳”表彰分享会在清新区体育馆召开。区委常委、组织部长张勇斌,活动的主办单位清新区文明办、清新区妇联等单位负责的同志出席了本次分享会。表彰先进事迹,引领清新文明之风她们有的人多年无怨无悔伺候卧病在床的丈夫,有的爱护儿媳为邻里所称道,有的。...
为您推荐更多微信好文章
北京军转安置安置交流群:关注问:什么叫基层工作经历?答:2016年国家***考试公告规定,中央机关及其省级直属机构除部分特殊职位和专业性较强的职位外,主要招录具有2年以上基层工作经历的人员。在考生较为关注的基层工作经历中,新增了对基层工作经历的范围新增退役士兵在军队服现役的经历一项。...
青白江吃喝玩乐ID:qingbai_jiang点上面蓝色文字“青白江吃喝玩乐”进行关注!青白江吃喝玩乐微信公众号每天精选互联网实用信息,结合青白江本地粉丝诉求,为粉丝带去及时的资讯服务!手指长按下面图片→识别二维码→关注热门内容:我在青白江刚刚好,何必羡慕北上广!朋友圈都传疯了!今天金堂、新都、广汉。...
阿尔卡特电讯有限公司 TEACHER SDAY公司简介沈阳阿尔卡特电讯有限公司成立于1993年,公司总部位于沈阳经济技术开发区,是由上海贝尔和辽宁联通共同投资组建的合资企业,员工规模超过2000人。公司专业从事电信设备的***、调测及售后技术服务;电信支援系统设备、通信系统软件制造、通信产品开发、制造。...
为了深入贯彻《***中央关于加强和改进党的群团工作的意见》,落实全国妇联和省妇联对新时期妇联工作的新要求,根据省、市、区妇联工作部署要求,龙颈镇村(社区)妇代会改建妇联工作从今年7月开始全面铺开。通过一系列紧张有序的筹备工作,目前,龙颈镇已进入了妇代会改建选举实施阶段,力争在2017年10月底完成该镇。...
王丹)10月10日,副市长、市公安局党委书记、局长雷雨带领治安支队、反恐支队、警务保障处等部门负责同志,冒雨深入商南、丹凤、山阳县对公安检查站特别是省际检查站升级改造和查控勤务运行工作进行督导检查。雷雨一行先后来到商南县赤地省际治安检查站、丹凤县古城、鹿池公安检查站,山阳县漫川关省级治安。...
为迎接国庆六十八周年及党的第十九次全国代表大会,确保此期间社区的安全稳定,日,美域家园社区召开了社区国庆、***安保工作动员部署会。此次动员会由全体社区工作者、青塔派出所社区民警朱二虎、物业相关负责人、辖区单位负责人共同参与。在此次动员部署会上,美域家园社区居委会书记王春竹同志首先。...
9日,全省做好第四季度经济工作电视***会议结束后,我市接着召开全市做好第四季度经济工作会议,贯彻落实全省电视***会议精神,安排部署我市第四季度经济工作,确保圆满完成全年目标任务。市委副书记、市长刘超出席会议并讲话。刘超在讲话中指出,今年以来,各地各部门认真贯彻党中央国务院和省委省政府决策部署,统筹抓。...
全球最年轻亿万富豪宝座的Facebook创始人马克?扎克伯格,为了提升员工的工作效率,亲自做了这26张PPT,希望能让你快速提升工作状态!1、时间常有,时间在于优先。2、时间总会有的:每天只计划 4~5 小时真正的工作。3、当你在状态时,就多干点;不然就好好休息:有时候会连着几天不是工作状态,有时在。...
随着国庆、中秋双节临近,消费市场逐渐进入旺季,为及时、准确掌握市场变化情况,保持节日期间价格稳定运行,亳州市发改委(物价局)布置开展价格监测工作,力争为全市人民营造一个价格稳定的“双节”生活。一是布置双节期间价格监测工作。9月27日,市发改委(物价局)价调科会同价检分局召开双节期间价格提醒告诫会暨价。...
萌叔推荐不论是前几年循规蹈矩地在职场,还是这几年做自媒体,我发现,越是高端有钱的工作,越需要PPT。领导都很忙,工作汇报、商务会议,每一样都需要你用严谨的思维高效表达,用高逼格的视觉清晰呈现。职场并不会因为你是女生而照顾你。那些能做出高逼格PPT,清晰呈现工作结果的人,能获得更好的机会,轻松走入升职。...
近日,清新区公布2017年民生实事上半年的进展情况,有关年度脱贫、乡镇卫生院改造升级工程等项目进度如何?这些与清新人息息相关的项目都落实了吗?今年初,区政府将2017年区民生实事细化***为22项具体工作任务,明确牵头承办单位、分管负责人和阶段性工作目标。截至7月底,22项具体工作任务中,有14项进展。...
8月9日,省纪委党风政风监督室郝金超处长带领省政府民生实事专项督查组到孟津督导检查“民生实事”工程建设工作,对孟津县供电公司在加快实施新一轮农村电网改造中,积极推进工程进度,提升工程建设质量等方面的工作给予充分肯定。公司党委副书记、副总经理牛建中,副总工程师周耀显,孟津县副县长辛俊峰等陪同检查。督查。...
VIP:超级会员SVIPA
保证金:已缴纳 A 元保证金
联系人:A(女士)&A&
会员: [当前离线]
邮件:A***:A手机:A
别扫这,太危险本专题概要
什么是TAP&&基于任务的异步模式介绍
如何使用TAP&&使用基于任务的异步模式来异步编程
TAP与APM或EAP可以转换吗?&&与其他异步模式的转换
  在上两个专题中我为大家介绍.NET 1.0中的APM和.NET 2.0中的EAP,在使用前面两种模式进行异步编程的时候,大家多多少少肯定会感觉到实现起来比较麻烦, 首先我个人觉得,当使用APM的时候,首先我们要先定义用来包装回调方法的委托,这样难免有点繁琐, 然而使用EAP的时候,我们又需要实现Completed事件和Progress事件,上面两种实现方式感觉都有点繁琐,同时微软也意思到了这点,所以在.NET 4.0中提出了一个新的异步模式&&基于任务的异步模式,该模式主要使用System.Threading.Tasks.Task和Task&T&类来完成异步编程,相对于前面两种异步模式来讲,TAP使异步编程模式更加简单(因为这里我们只需要关注Task这个类的使用),同时TAP也是微软推荐使用的异步编程模式,下面就具体为大家分享下本专题的内容.
二、什么是TAP&&基于任务的异步模式介绍
基于任务的异步模式(Task-based Asynchronous Pattern,TAP)之所以被微软所推荐,主要就它使用简单,基于任务的异步模式使用单个方法来表示异步操作的开始和完成,然而异步编程模型(APM)却要求BeginXxx和EndXxx两个方法来分别表示异步操作的开始和完成(这样使用起来就复杂了),然而,基于事件的异步模式(EAP)要求具有Async后缀的方法和一个或多个事件、事件处理程序和事件参数。看到这里,是不是大家都有这样一个疑问的&&我们怎样区分.NET类库中的类实现了基于任务的异步模式呢? 这个识别方法很简单,当看到类中存在TaskAsync为后缀的方法时就代表该类实现了TAP,&并且基于任务的异步模式同样也支持异步操作的取消和进度的报告的功能,但是这两个实现都不像EAP中实现的那么复杂,因为如果我们要自己实现EAP的类,我们需要定义多个事件和事件处理程序的委托类型和事件的参数(具体可以查看上一专题中的BackgroundWorker剖析部分),但是在TAP实现中,我们只需要通过向异步方法传入&参数,因为在异步方法内部会对这个参数的属性进行监控,当异步方法收到一个取消请求时,异步方法将会退出执行(具体这点可以使用反射工具查看WebClient的方法,同时也可以参考我后面部分自己实现基于任务的异步模式的异步方法。),在TAP中,我们可以通过接口来实现进度报告的功能,具体实现可以参考我后面的程序部分。
目前我还没有找到在.NET 类库中实现了基于任务的异步模式的哪个类提供进度报告的功能,下面的将为大家演示这个实现,并且也是这个程序的亮点,同时通过自己实现TAP的异步方法来进一步理解基于任务的异步模式。
三、如何使用TAP&&使用基于任务的异步模式来异步编程
&看完上面的介绍,我们是不是很迫不及待想知道如何自己实现一个基于任务的异步模式的异步方法的,并且希望只需要这个方法就可以完成异步操作的取消和进度报告的功能的(因为EAP中需要实现其他的事件和定义事件参数类型,这样的实现未免过于复杂),下面就基于上专题中实现的程序用基于任务的异步模式来完成下。下面就让我们实现自己的异步方法(亮点为只需要一个方法就可以完成进度报告和异步操作取消的功能):
Download File
// CancellationToken 参数赋值获得一个取消请求
// progress参数负责进度报告
private void DownLoadFile(string url, CancellationToken ct, IProgress&int& progress)
HttpWebRequest request = null;
HttpWebResponse response = null;
Stream responseStream = null;
int bufferSize = 2048;
byte[] bufferBytes = new byte[bufferSize];
request = (HttpWebRequest)WebRequest.Create(url);
if (DownloadSize != 0)
request.AddRange(DownloadSize);
response = (HttpWebResponse)request.GetResponse();
responseStream = response.GetResponseStream();
int readSize = 0;
while (true)
// 收到取消请求则退出异步操作
if (ct.IsCancellationRequested == true)
MessageBox.Show(String.Format("下载暂停,下载的文件地址为:{0}\n 已经下载的字节数为: {1}字节", downloadPath, DownloadSize));
response.Close();
filestream.Close();
sc.Post((state) =&
this.btnStart.Enabled = true;
this.btnPause.Enabled = false;
// 退出异步操作
readSize = responseStream.Read(bufferBytes, 0, bufferBytes.Length);
if (readSize & 0)
DownloadSize += readS
int percentComplete = (int)((float)DownloadSize / (float)totalSize * 100);
filestream.Write(bufferBytes, 0, readSize);
// 报告进度
progress.Report(percentComplete);
MessageBox.Show(String.Format("下载已完成,下载的文件地址为:{0},文件的总字节数为: {1}字节", downloadPath, totalSize));
sc.Post((state) =&
this.btnStart.Enabled = false;
this.btnPause.Enabled = false;
response.Close();
filestream.Close();
catch (AggregateException ex)
// 因为调用Cancel方法会抛出OperationCanceledException异常
// 将任何OperationCanceledException对象都视为以处理
ex.Handle(e =& e is OperationCanceledException);
这样只需要上面的一个方法,我们就可以完成上一专题中文件下载的程序,我们只需要在下载按钮的事件处理程序调用该方法和在暂停按钮的事件处理程序调用CancellationTokenSource.Cancel方法即可,具体代码为:
// Start DownLoad File
private void btnStart_Click(object sender, EventArgs e)
filestream = new FileStream(downloadPath, FileMode.OpenOrCreate);
this.btnStart.Enabled = false;
this.btnPause.Enabled = true;
filestream.Seek(DownloadSize, SeekOrigin.Begin);
// 捕捉调用线程的同步上下文派生对象
sc = SynchronizationContext.C
cts = new CancellationTokenSource();
// 使用指定的操作初始化新的 Task。
task = new Task(() =& Actionmethod(cts.Token), cts.Token);
// 启动 Task,并将它安排到当前的 TaskScheduler 中执行。
task.Start();
//await DownLoadFileAsync(txbUrl.Text.Trim(), cts.Token,new Progress&int&(p =& progressBar1.Value = p));
// 任务中执行的方法
private void Actionmethod(CancellationToken ct)
// 使用同步上文文的Post方法把更新UI的方法让主线程执行
DownLoadFile(txbUrl.Text.Trim(), ct, new Progress&int&(p =&
sc.Post(new SendOrPostCallback((result)=&progressBar1.Value=(int)result),p);
// Pause Download
private void btnPause_Click(object sender, EventArgs e)
// 发出一个取消请求
cts.Cancel();
下面看看基于任务的异步模式的实现效果如何的,运行结果:
点击确定按钮之后,Download按钮会重新变成可用,此时我们可以继续点击Download按钮来下载进行下载,下载完成之后会下载完成弹出框,运行结果如下:
四、TAP与APM或EAP可以转换吗?&&与其他异步模式的转换
从上面的程序代码我们可以清楚的发现&&基于任务的异步模式确实比前面的两种异步模式更加简单使用,所以,从.NET Framework 4.0开始,微软推荐使用TAP来实现异步编程,这里就涉及之前用APM或EAP实现的程序如何迁移到用TAP实现的问题的,同时.NET Framwwork对他们之间的转换了也做了很好的支持。
4.1 将APM转换为TAP&
在System.Threading.Tasks命名空间中,有一个TaskFactory(任务工程)类,我们正可以利用该类的方法来实现将APM转换为TAP,下面就用基于任务的异步模式来实现在中例子。
// 大家可以对比这两种实现方式
#region 使用APM实现异步请求
private void APMWay()
WebRequest webRq = WebRequest.Create("/zh-CN/");
webRq.BeginGetResponse(result =&
WebResponse webResponse = null;
webResponse = webRq.EndGetResponse(result);
Console.WriteLine("请求的内容大小为: " + webResponse.ContentLength);
catch (WebException ex)
Console.WriteLine("异常发生,异常信息为: " + ex.GetBaseException().Message);
if (webResponse != null)
webResponse.Close();
#endregion
#region 使用FromAsync方法将APM转换为TAP
private void APMswitchToTAP()
WebRequest webRq = WebRequest.Create("/zh-CN/");
Task.Factory.FromAsync&WebResponse&(webRq.BeginGetResponse, webRq.EndGetResponse, null, TaskCreationOptions.None).
ContinueWith(t =&
WebResponse webResponse = null;
webResponse = t.R
Console.WriteLine("请求的内容大小为: " + webResponse.ContentLength);
catch (AggregateException ex)
if (ex.GetBaseException() is WebException)
Console.WriteLine("异常发生,异常信息为: " + ex.GetBaseException().Message);
if (webResponse != null)
webResponse.Close();
#endregion
上面代码演示了使用APM的原始实现方式以及如何使用FromAsync方法把APM的实现方式转换为TAP的实现方法,把这两种方式放在一起,一是可以帮助大家做一个对比,使大家更容易明白APM与TAP的转换,二是大家也可以通过上面的对比明白TAP与APM的区别。
4.2 将EAP转化为TAP
处理APM可以升级为用TAP来实现外,对于EAP,我们同样可以对其转换为TAP的方式,下面代码演示了如何将EAP转换为TAP的实现方式:
#region 将EAP转换为TAP的实现方式
// webClient类支持基于事件的异步模式(EAP)
WebClient webClient = new WebClient();
// 创建TaskCompletionSource和它底层的Task对象
TaskCompletionSource&string& tcs = new TaskCompletionSource&string&();
// 一个string下载好之后,WebClient对象会应发DownloadStringCompleted事件
webClient.DownloadStringCompleted += (sender, e) =&
// 下面的代码是在GUI线程上执行的
// 设置Task状态
if (e.Error != null)
// 试图将基础Tasks.Task&TResult&转换为Tasks.TaskStatus.Faulted状态
tcs.TrySetException(e.Error);
else if (e.Cancelled)
// 试图将基础Tasks.Task&TResult&转换为Tasks.TaskStatus.Canceled状态
tcs.TrySetCanceled();
// 试图将基础Tasks.Task&TResult&转换为TaskStatus.RanToCompletion状态。
tcs.TrySetResult(e.Result);
// 当Task完成时继续下面的Task,显示Task的状态
// 为了让下面的任务在GUI线程上执行,必须标记为TaskContinuationOptions.ExecuteSynchronously
// 如果没有这个标记,任务代码会在一个线程池线程上运行
tcs.Task.ContinueWith(t =&
if (t.IsCanceled)
Console.WriteLine("操作已被取消");
else if (t.IsFaulted)
Console.WriteLine("异常发生,异常信息为:" + t.Exception.GetBaseException().Message);
Console.WriteLine(String.Format("操作已完成,结果为:{0}", t.Result));
}, TaskContinuationOptions.ExecuteSynchronously);
// 开始异步操作
webClient.DownloadStringAsync(new Uri("/zh-CN/"));
#endregion
  本专题关于TAP的内容就介绍到这里了,本专题主要以实现一个文件下载程序要讲述基于任务的异步模式所带来的简便,这个也是.NET 4.0中提出TAP的原因所在吧,最后介绍了TAP与APM和EAP模式之间的转化,通过这部分大家可以清楚知道以前的异步实现如何向新的异步模式的迁移,以及从他们的转换实现代码中也可以比较他们之间的不同。然而在.NET 4.5中,微软对异步编程又做了更好的支持&&提供了async和await两个关键字,这两个关键字使我们异步编程如同步编程一样的简单,彻底改变了实现异步编程所面临的委托回调,跨线程访问控件等问题,具体这部分内容,我将在下个专题中为大家介绍。
本专题源码下载:
阅读(...) 评论()

参考资料

 

随机推荐