首页 > 其他分享 >Csharp的CancellationToken 案例

Csharp的CancellationToken 案例

时间:2023-07-01 13:33:55浏览次数:29  
标签:CancellationToken Console string System 案例 WriteLine Csharp using

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

// 命名空间
namespace pro01
{
    // 类
    internal class Program
    {
        // main 方法
        static async Task Main(string[] args)
        {
            Console.WriteLine("=======测试CancellationToken=========");
            CancellationTokenSource cts = new CancellationTokenSource();
            cts.CancelAfter(3000);
            CancellationToken cToken = cts.Token;
            await DownLoadAsync("https://www.baidu.com", 200
                , cToken);
            Console.ReadLine();
        }

        /// <summary>
        /// 下载网页内容的函数
        /// </summary>
        /// <param name="url"></param>
        /// <param name="n"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        static async Task DownLoadAsync(string url ,int n, CancellationToken cancellationToken)
        {
            using (HttpClient client = new HttpClient())
            {
                for(int i = 0;i < n;i++)
                {
                    //GetStringAsync 使用异步的方法 从 url 下载 内容
                    string html = await client.GetStringAsync(url);
                    Console.WriteLine($"{DateTime.Now}:{html}");  // print container
                    if (cancellationToken.IsCancellationRequested)  // 监听是否取消了
                    {
                        Console.WriteLine("请求取消了");
                        break;
                    }
                }
            }
        }
    }
}

 

标签:CancellationToken,Console,string,System,案例,WriteLine,Csharp,using
From: https://www.cnblogs.com/zhulongxu/p/17519170.html

相关文章

  • Linux必学技能 | 17个案例带运维小白快速精通Awk命令,拿来即用
    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行地读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有三个不同的版本:awk、nawk和gawk,未作特别说明,一般指gawk,gawk是awk的GNU版本。之......
  • Echart基本案例
    一、静态效果图 二,前期需要2.1、vue3项目,Echart引入2.2、原理解释略案例代码1:<template><divid="radarChart"style="width:100%;height:100%;"></div></template><scriptsetup>import*asechartsfrom'echarts'......
  • 1688阿里巴巴接口中国站按关键字搜索商品API接口采集宝贝详情数据演示案例
     按关键字搜索商品API接口的作用是通过输入关键字来搜索相关的商品信息。这个API接口允许开发者和商家根据用户输入的关键字进行商品搜索,以便展示相关的商品结果给用户。使用按关键字搜索商品API接口,可以实现以下功能:商品搜索:根据用户输入的关键字,通过API接口向电商平台发送搜索请......
  • 1688阿里巴巴接口中国站按关键字搜索商品API接口采集宝贝详情数据演示案例
    ​ 按关键字搜索商品API接口的作用是通过输入关键字来搜索相关的商品信息。这个API接口允许开发者和商家根据用户输入的关键字进行商品搜索,以便展示相关的商品结果给用户。使用按关键字搜索商品API接口,可以实现以下功能:商品搜索:根据用户输入的关键字,通过API接口向电商平台发......
  • DataSecurity Plus金融行业案例
    摘要:DataSecurityPlus是一款强大的数据安全解决方案,为金融机构提供全面的数据保护和合规性监控。本文将介绍DataSecurityPlus在金融行业的使用案例,包括文件审计、数据分类和合规性报告等功能的应用。DataSecurityPlus文件审计:金融机构处理大量的客户数据和财务信息,因此对文件的......
  • 云享·案例丨打造数智物流底座,华为云DTSE助力物联云仓解锁物流新“速度”
    摘要:华为云凭借领先的技术和快速响应的开发者支持服务,助力物联亿达实现云上资源高可用、提升系统安全性与稳定性,为物联亿达提供了扎实的数字化基础。本文分享自华为云社区《云享·案例丨打造数智物流底座,华为云DTSE助力物联云仓解锁物流新“速度”》,作者:华为云社区精选。数字化......
  • 案例-修改-回显数据
     packagecom.itheima.mapper;importcom.itheima.pojo.Brand;importorg.apache.ibatis.annotations.Insert;importorg.apache.ibatis.annotations.ResultMap;importorg.apache.ibatis.annotations.Select;importjava.util.List;publicinterfaceBrandMapper......
  • 案例-添加
     packagecom.itheima.mapper;importcom.itheima.pojo.Brand;importorg.apache.ibatis.annotations.Insert;importorg.apache.ibatis.annotations.ResultMap;importorg.apache.ibatis.annotations.Select;importjava.util.List;publicinterfaceBrandMapper......
  • 小游戏——贪吃蛇案例
    一、案例目的 1、实现贪吃蛇游戏基本功能,屏幕上随机出现一个“食物”,称为豆子,上下左右控制“蛇”的移动,吃到“豆子”以后“蛇”的身体加长一点。2、“蛇”碰到边界或蛇头与蛇身相撞,蛇死亡,游戏结束。3、为游戏设计友好的交互界面;例如欢迎界面,游戏界面,游戏结束界面。要有开始键......
  • TodoList案例
       案例介绍文本框里面输入内容,按下回车,就可以生成待办事项。点击待办事项复选框,就可以把当前数据添加到已完成事项里面。点击已完成事项复选框,就可以把当前数据添加到待办事项里面。但是本页面内容刷新页面不会丢失。toDoList分析以及注意点刷新页面不会丢失数据,......