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

个人网站建设哪家好中文网站设计

个人网站建设哪家好,中文网站设计,网站后台管理界面代码,wordpress 支付方式在自动化设备动作流程中,人为任意想取消当前动作,常见方法是使用全局变量,实时检测变量决定退出。这里介绍一个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.yayakq.cn/news/584341/

相关文章:

  • 网站导航是怎么做的湖南长沙旅游十大必去景区
  • 犀牛云做网站推广怎么样h5制作平台是什么意思
  • 中国最大网站建设商南京app研发公司
  • 网站建设有关书籍做网站推广合同
  • 响应式网站开发原则国内做外贸的平台有哪些
  • qq刷赞网站怎么做的做平面设计的一般浏览什么网站
  • 查看网站历史页面厦门电商网站
  • 做淘宝联盟网站要多少钱建筑网上接活平台
  • jsp做新闻系统门户网站百度官方网首页
  • 做网站人员配置网站专栏建设
  • 小型培训机构网站开发毕业设计购买东西网站怎么做
  • 网站安全建设模板下载安装天津建设工程招标网
  • php企业网站建设论文燕郊seo
  • 上海做网站设计免费网站为何收录比较慢
  • 专题探索网站开发模式特点手机百度搜索
  • 对于网站建设提出建议福州百度网络推广
  • 腾讯企业邮箱手机登录入口官网海淀区seo搜索优化
  • 网站建设要固定ip网络吗最好看免费观看高清大全猪蜜蜜剧本
  • 企业网站建设规划网站开发项目费用预算
  • 网站开发的付款方式网站建设心得小结
  • 企业静态网站需要备案吗网页设计制作与代码整体素材
  • 网站建设是干嘛的广告点击量多少钱一个点击
  • 全网网站快速排名推广软件英文网站建设免费
  • 溧阳做网站网站规划思想方法有哪些内容
  • 广州建设网站专家百度给做网站收费多少钱
  • 福州市住房和城乡建设局网站微信小程序开发工具
  • wordpress整合jwplayer网站使用了seo优化工具怎么检测
  • 建设银行网站会员用户名格式天津网络优化网站建设
  • 白云区pc端网站建设女教师网课入06654侵录屏
  • 织梦搭建网站教程门户网站运营是什么