当前位置: 首页 > news >正文

中国设计网站推荐seo课程培训班费用

中国设计网站推荐,seo课程培训班费用,网站建设合同鉴于甲方委托乙方,上海中高端网站建设在自动化设备动作流程中,人为任意想取消当前动作,常见方法是使用全局变量,实时检测变量决定退出。这里介绍一个System.Threading空间下的 CancellationTokenSource类,他可以设置超时,设置信息等封装 基本使用超时和手…

在自动化设备动作流程中,人为任意想取消当前动作,常见方法是使用全局变量,实时检测变量决定退出。这里介绍一个System.Threading空间下的 CancellationTokenSource类,他可以设置超时,设置信息等封装

基本使用超时和手动设置退出

CancellationTokenSource:用于控制和生成CancellationToken

CancellationToken:取消令牌,可以注册取消回调等操作

1、先实例化CancellationTokenSource

2、注册取消回调

3、启动一个Task,模拟耗时操作

4.调用CancellationTokenSource的CancelAfter方法,表示多少毫秒后取消,也可使用Cancel方法立即取

5、IsCancellationRequested属性判断任务是否取消,没取消则一直输出i

抛出异常退出

以下举例 async await的异步使用,用到CancellationToken来取消任务,并手动设置抛异常传达信息

[HttpGet]public async Task<IActionResult> CancelDownLoad(CancellationToken cancellationToken){try{var _client = _httpClient.CreateClient("bigDownLoad");_client.DefaultRequestHeaders.Range = new RangeHeaderValue(0, 1024 * 1024 * 50);await Task.Delay(1000);if (!cancellationToken.IsCancellationRequested){var resp = await _client.GetAsync("http://du.cainiaoxt.cn/dd.php/windows_7_ultimate_x64_2023.iso",cancellationToken);if (resp.StatusCode != System.Net.HttpStatusCode.OK){string chunkFileFolder = @"D:\";string bigFileName = chunkFileFolder + @"\bigFile" + new Random().Next(0, 10);using (FileStream fs = new FileStream(bigFileName, FileMode.Create)){var respStream = await resp.Content.ReadAsStreamAsync();await respStream.CopyToAsync(fs);await respStream.FlushAsync();}}return Ok();}else{  // 设置抛异常退出cancellationToken.ThrowIfCancellationRequested();return BadRequest("下载任务取消!");}}catch (OperationCanceledException ex){Console.WriteLine("下载任务取消!"+ex.Message);return BadRequest("下载任务取消!");}}

关联退出

另外可以设置退出链接,多个关联全部退出

// See https://aka.ms/new-console-template for more information
CancellationTokenSource cts=new CancellationTokenSource();
cts.Token.Register(() => { Console.WriteLine("任务1已停止"); });CancellationTokenSource cts2 = new CancellationTokenSource();
cts2.Token.Register(() => { Console.WriteLine("任务2已停止"); });CancellationTokenSource cts3 = new CancellationTokenSource();
cts3.Token.Register(() => { Console.WriteLine("任务3已停止"); });
var linkTokenSource=CancellationTokenSource.CreateLinkedTokenSource(cts.Token, cts2.Token, cts3.Token);linkTokenSource.Token.Register(() => { Console.WriteLine("关联token取消"); });
Task.Run(() =>
{int i = 1;while (!cts.IsCancellationRequested){i++;Console.WriteLine("任务1:"+i);Task.Delay(500).Wait();}});Task.Run(() =>
{int i = 1;while (!cts2.IsCancellationRequested){i++;Console.WriteLine("任务2:"+i);Task.Delay(500).Wait();}});Task.Run(() =>
{int i = 1;while (!cts3.IsCancellationRequested){i++;Console.WriteLine("任务3:"+i);Task.Delay(500).Wait();}});Task.Run(() =>
{int i = 1;while (!linkTokenSource.IsCancellationRequested){i++;Console.WriteLine("关联token任务:" + i);Task.Delay(500).Wait();}});var key=Console.ReadKey();
if(key.Key==ConsoleKey.A)
{cts.Cancel();
}
Console.ReadLine();
http://www.hkea.cn/news/893798/

相关文章:

  • 网站优化的基本思想与原则百度号码
  • 沧州网站建设制作设计优化深圳seo优化推广
  • 建立一个网站需要什么技术网上培训机构
  • 网站设计与管理论文百度账号注册平台
  • 网站空间商推荐seo是什么职位缩写
  • 怎么建设boss网站文件外链
  • 百度推广网站建设费百度搜索引擎的网址是多少
  • php 手机网站 上传图片定制网站建设
  • 关于网站建设的问题百度关键词分析
  • 登录官方网站装修公司网络推广方案
  • 设计网站官网入口网站搜索优化方法
  • 网站优化qq群山东做网站
  • wordpress icomoon太原seo快速排名
  • 中华建设杂志网站记者数据指数
  • 网站开发测试情况南召seo快速排名价格
  • 上海仓储公司小红书seo优化
  • 南京建设公司网站网络营销整合推广
  • wordpress更改语言沈阳seo优化
  • wordpress免费网站世界大学排名
  • 做网站的属于什么专业?百度爱采购竞价推广
  • 网站建设一年多少恰东莞网站到首页排名
  • 新企业网站应该怎么做SEO优化广告联盟有哪些
  • 手机app开发网站建设软文推广文章案例
  • 网站自然排名百度经验官网登录
  • dz网站模板沧州网站优化公司
  • 桂林论坛天涯社区培训行业seo整站优化
  • 做伊瑞尔竞技场的网站搜索引擎简称seo
  • 46云虚拟主机股票发行ipo和seo是什么意思
  • 新泰做网站菏泽seo
  • 网站建设排名东莞seo收费