博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#~异步编程在项目中的使用
阅读量:6934 次
发布时间:2019-06-27

本文共 1122 字,大约阅读时间需要 3 分钟。

一些闲话

对异步编程没有了解的同学可以看我的这篇文章<>,今天主要说一下,在项目中怎么就用到了异步编程!在进行WEB开发时,异步这块我们用的并不多,但当你的项目做到一定规模时,它可以与其它站点(API),其它设置(手机,平板)之间的通讯就多了起来,这时,为了提高UI(浏览器,手机终端,平板终端,winform终端)的响应能力,我们就需要引入异步了.

项目用到了它

我们这个项目是个直播功能的项目,直播的内容存储在第三方,它们为我们提供了相关的接口,web服务的(soap的,目前比较流行RestFul的),当我们老师端完成了直播后,需要关闭它,然后第三方会通知我们,我们接到通过后,将课程的状态改为"完成"就可以了,在这里,我们需要用到了录课功能,录课是第三方在老师结束直播后才进行的工作,所以,当第三方通知我们完成后, 这时,录课的视频还没有写在第三方服务器上,所以,我们必须要让程序sleep一下,再进行获取工作,这种情况,就用到了异步和线程的知识了.

项目中的代码

我自己封装了一个根据时间段去调用WEB服务的方法,下面是代码

///         /// 线程轮训服务        ///         /// 要轮训的代码块        /// 间隔的秒数        /// 
private string ThreadPoolService(Func
ws, Action
logger, params int[] interval) { string url = ws(); foreach (int i in interval) { Thread.Sleep(i * 1000); url = ws(); if (!string.IsNullOrWhiteSpace(url)) { logger(string.Format("点播轮训调用时间:{0}秒,发生的时间:{1}秒", i, DateTime.Now)); break; } } return url; }

而剩下的工作就是调用它了,这块内容就与具体项目有关了,在这里就不公开出来了,哈哈.

转载地址:http://bmpjl.baihongyu.com/

你可能感兴趣的文章
CentOS6.4安装Oralce11.2问题总结
查看>>
mysql分区技术
查看>>
跳出当前for循环
查看>>
IDEA java开发学习笔记
查看>>
欢迎大家关注我的微信公账号
查看>>
git学习心得总结
查看>>
猫猫学IOS(三十二)UI之Quartz2D矩阵操作和图片剪切
查看>>
ABBYY FineReader利用模式提高OCR质量
查看>>
代码的编写之惨烈的教训一
查看>>
Git之提交项目到远程github
查看>>
python一中实现组合的方式
查看>>
防火墙技术 配置基于上下文的访问控制
查看>>
简单字符串匹配方法
查看>>
linux安装及管理程序
查看>>
salt源码安装
查看>>
王高利:Kvm虚拟化(3)__nat方式上网
查看>>
我的友情链接
查看>>
linux中echo输出命令
查看>>
安装zabbix 3.0.3 LNMP
查看>>
Docker容器的导入和导出&存储和加载
查看>>