千家信息网

webapi+Task并行请求不同接口实例

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,标题的名称定义不知道是否准确,不过我想表达的意思就是使用Task特性来同时请求多个不同的接口,然后合并数据;我想这种场景的开发对于对接过其他公司接口的人不会陌生,本人也是列属于之内,更多的是使用最原始
千家信息网最后更新 2026年11月01日webapi+Task并行请求不同接口实例

标题的名称定义不知道是否准确,不过我想表达的意思就是使用Task特性来同时请求多个不同的接口,然后合并数据;我想这种场景的开发对于对接过其他公司接口的人不会陌生,本人也是列属于之内,更多的是使用最原始的异步委托的方法去处理,今天抽空写了一个使用4.5新特性Task来处理这种场景;各位看客有什么疑问或者好的建议及分享请博客通知,谢谢。

  A.项目结构图

  

  B.namespace Pm.V.PM_BLL下面的BaseClass定义如下:

View Code

  主要是在实例的时候读取各个业务模块的配置文件,初始化一些常用并且是公共的属性信息;其次创建了一个虚方法_GetArticles,注意里面的参数是object这个将再后面的时候重提;

  C.下面就是请求第三方业务实现类的代码,这里测试的时候分别使用

    1.CnblogsClass类抓取博客园首页的博客列表信息

View Code

    .注意这里使用 : base("")直接继承了上面说的父类的方法,来初始化配置信息(当然这个可能不算知识点)

    .接下来就是实现的_GetArticles方法里面PublicClass._HttpGet方法封装的HttpClient获取博客园的数据

    .解析了返回的数据信息(这里使用的正则,可能有些同学觉得正则可能还不太熟悉,可以自行百度参考分析下)

    .记录日志,我这里是记录的文本日志暂时注释了,因为怕抓取的信息多,忘记删除占用空间

    以上几点就是实际情况中经常遇到的步奏,这个处理步奏在从来没有对接过第三方接口的人还是值得学习的

    2.HuJiangClass类是抓取了博客园中.Net第一页的数据,步奏和方法和上面相同,请关注代码部分

View Code

  D.今天要讲的主要内容来了,以上算是过度,让人了解对接第三方接口的一些处理步奏和简单的封装吧;这里将看到的是Pm.Api.Controllers空间下BlogsController里面的Post方法,代码如:

View Code

    1.首先使用了var baseRequest = Newtonsoft.Json.JsonConvert.DeserializeObject(param); 来第一次返序列化,得到验证的基本信息如账号,token等

    2.常用的接口形式使用参数节点名称来确定将要执行的方法,或者直接在节点值中标注方法的名称,因此有了这么一句switch (baseRequest.FunName)来判断程序的走向

    3.在此反序列得到真实调用者post给接口的数据(上面第一次反序列使用的是基类,基类里面就包含了验证需要的属性,为什么这里不直接使用第一次反序列的对象呢,因为这里将要传递给后面方法参数的值是子类里面封装的)

    4.开始定义Task任务的数量,一般根据有几个第三方接口第一几个吧,Task[]保证后面产生的任务量

    5.Task.Factory.StartNew(dataType._GetArticles, r_GetArticles) 方法来创建任务,这里要说的是dataType._GetArticles是之前上面说的请求第三方接口定义的方法,r_GetArticles这个是需要传递的值是object的,这也是StartNew固定的参数类型;再通过Task[]存储创建的任务;

    6.Task.WaitAll(tasks, 1000 * 1 * 30);这个WaitAll是自带的,意思是等待任务执行多少毫秒,也算是知识点吧,第一个参数是任务数组,是数组的形式,第二个是毫秒单位的等待时间

    7.最后通过foreach (var task in tasks) 来循环整合task.Result返回的结果

 之后是效果截图DataType表示不同的数据来源:

 

  大致就是这些吧,不知道说的东西是否说明白了,这就是处理对接第三方不同接口的业务逻辑,也是使用task来并行处理的方法

  


方法 接口 任务 信息 就是 数据 第三方 处理 博客 参数 序列 不同 业务 代码 名称 时候 第一次 封装 场景 属性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会副主任毛军 科技平台互联网 互联网科技财经 金融科技还是互联网 互联网金融 科技金融 互联网科技的未来发展 顺网科技2021年互联网排名 科技与互联网的利与弊 中国航天科技大学国际工业互联网 未来五年的互联网科技 亳州好赞互联网科技有限公司 畅思互联网科技 迪庆互联网科技招生 怎样加入科技互联网 互联网营销推广黑科技 陕西云淼互联网科技公司 广州梦谷互联网科技有限公司领导 江苏互联网智能科技产品出厂价 平安好医生打造互联网科技医疗 恒生科技互联网指数十大成分股 互联网络科技 科技与互联网 恒生科技互联网指数分析 青岛中康互联网医疗科技有限公司 开一家科技互联网公司需要多少钱 互联网公司黑科技创始人 上海乐五互联网科技有限公司 广州智享互联网科技 易租星互联网科技有限公司 美国五大互联网科技公司市值多少
0