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

app开发网站建设软文广告推广

app开发网站建设,软文广告推广,网站平台构建,三门峡专业做网站公司如果不想等待异步控制台应用程序完成,可以取消该应用程序。 通过遵循本文的示例,可将取消添加到下载网站内容的应用程序。 可通过将 CancellationTokenSource 实例与每个任务进行关联来取消多个任务。 如果选择 Enter 键,则将取消所有尚未完成…

如果不想等待异步控制台应用程序完成,可以取消该应用程序。 通过遵循本文的示例,可将取消添加到下载网站内容的应用程序。 可通过将 CancellationTokenSource 实例与每个任务进行关联来取消多个任务。 如果选择 Enter 键,则将取消所有尚未完成的任务。

创建示例应用程序

创建新的 .NET Core 控制台应用程序。 可通过使用 dotnet new console 命令或从 Visual Studio 进行创建。 在你最喜欢的编辑器中打开 Program.cs 文件。

替换 using 语句

将现有 using 语句替换为以下声明:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
添加字段

在 Program 类定义中,添加以下三个字段:

static readonly CancellationTokenSource s_cts = new CancellationTokenSource();static readonly HttpClient s_client = new HttpClient
{MaxResponseContentBufferSize = 1_000_000
};static readonly IEnumerable<string> s_urlList = new string[]
{"https://learn.microsoft.com","https://learn.microsoft.com/aspnet/core","https://learn.microsoft.com/azure","https://learn.microsoft.com/azure/devops","https://learn.microsoft.com/dotnet","https://learn.microsoft.com/dynamics365","https://learn.microsoft.com/education","https://learn.microsoft.com/enterprise-mobility-security","https://learn.microsoft.com/gaming","https://learn.microsoft.com/graph","https://learn.microsoft.com/microsoft-365","https://learn.microsoft.com/office","https://learn.microsoft.com/powershell","https://learn.microsoft.com/sql","https://learn.microsoft.com/surface","https://learn.microsoft.com/system-center","https://learn.microsoft.com/visualstudio","https://learn.microsoft.com/windows","https://learn.microsoft.com/maui"
};

CancellationTokenSource 用于向 CancellationToken 发出请求取消的信号。 HttpClient 公开发送 HTTP 请求和接收 HTTP 响应的能力。 s_urlList 包括应用程序计划处理的所有 URL。

更新应用程序入口点

控制台应用程序的主入口点是 Main 方法。 将现有方法替换为以下内容:

static async Task Main()
{Console.WriteLine("Application started.");Console.WriteLine("Press the ENTER key to cancel...\n");Task cancelTask = Task.Run(() =>{while (Console.ReadKey().Key != ConsoleKey.Enter){Console.WriteLine("Press the ENTER key to cancel...");}Console.WriteLine("\nENTER key pressed: cancelling downloads.\n");s_cts.Cancel();});Task sumPageSizesTask = SumPageSizesAsync();Task finishedTask = await Task.WhenAny(new[] { cancelTask, sumPageSizesTask });if (finishedTask == cancelTask){// wait for the cancellation to take place:try{await sumPageSizesTask;Console.WriteLine("Download task completed before cancel request was processed.");}catch (TaskCanceledException){Console.WriteLine("Download task has been cancelled.");}}Console.WriteLine("Application ending.");
}

目前将已更新的 Main 方法视为异步 main 方法,这允许将异步入口点引入可执行文件中。 将几条说明性消息写入控制台,然后声明名为 cancelTask 的 Task 实例,这将读取控制台密钥笔画。 如果按 Enter,则会调用 CancellationTokenSource.Cancel()。 这将发出取消信号。 下一步,从 SumPageSizesAsync 方法分配 sumPageSizesTask 变量。 然后,将这两个任务传递到 Task.WhenAny(Task[]),这会在完成两个任务中的任意一个时继续。

下一个代码块可确保在取消得到处理之前不会退出应用程序。 如果要完成的第一个任务是 cancelTask,则等待 sumPageSizeTask。 如果已取消,则等待时会引发 System.Threading.Tasks.TaskCanceledException。 块捕获该异常,并输出消息。

http://www.tj-hxxt.cn/news/116292.html

相关文章:

  • 网站开发 明细外贸出口平台网站
  • 甘肃网站建设公司2022年网络流行语
  • 开办网站原因给公司建网站需要多少钱
  • cms是什么公司简称网站优化课程培训
  • 电子商务网站建设前期营销网站搭建
  • 独立做网站需要学什么条件seo入门课程
  • 支付宝 收费 网站开发网络推广和竞价怎么做
  • 网站建设需要多久外包公司到底值不值得去
  • 莲花网站火星时代教育培训机构官网
  • 网站的商桥怎么做系统优化的方法
  • 什么网站可以发布有偿做项目百度手机助手免费下载
  • 青羊区建设和交通网站百度竞价优缺点
  • 互动网站建设seo域名如何优化
  • 做网站会什么问题优化大师免费下载
  • 成都 专业 网站建设济南百度推广优化
  • 自己怎么做点击量好的网站全网搜索指数查询
  • 网站建设的内容百度网盘搜索引擎入口哪里
  • 刷网站跳出率百度推广怎么优化排名
  • wordpress 获取菜单seo分析师招聘
  • 学网站建设的学校发帖效果好的网站
  • 怎么做网站 知乎杭州网站推广优化
  • 创建网站基本流程seo关键词优化策略
  • 做网站必须要dreamever东莞网站营销
  • 社交型网站开发怎么做营销
  • 低价建设手机网站公司网站设计定制
  • 网站一键提交seo专业术语
  • 做网站交钱后以后还要教吗地推团队去哪里找
  • 规则网站建设域名注册信息查询
  • 哪里有做网站公司的百度热搜的含义
  • 蓝色高科技网站模板站长之家seo综合查询