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

购物网站开发问题wordpress 搜索本站

购物网站开发问题,wordpress 搜索本站,网站怎样添加百度地图,软文的目的是什么在 .NET Core 中使用异步编程已经很普遍了#xff0c; 你在项目中随处可见 async 和 await#xff0c;它简化了异步操作#xff0c;允许开发人员#xff0c;使用同步的方式编写异步代码#xff0c;你会发现在大部分的异步方法中#xff0c;都提供了CancellationToken参数… 在 .NET Core 中使用异步编程已经很普遍了 你在项目中随处可见 async 和 await它简化了异步操作允许开发人员使用同步的方式编写异步代码你会发现在大部分的异步方法中都提供了CancellationToken参数本文主要介绍下 CancellationTokenSource 和 CancellationToken在异步任务中的使用。手动取消任务创建一个 CancellationTokenSource然后调用异步方法时传入 CancellationToken它是一个轻量级对象可以通知请求是否已取消我们可以手动调用 cts.Cancel() 来取消任务为了方面演示这里我有用到局部方法。static async Task Main(string[] args) {async Task Execute(CancellationToken token){await Task.Delay(3000, token);Console.WriteLine(Executed);} CancellationTokenSource cts new CancellationTokenSource(); _ Execute(cts.Token);// 手动取消任务cts.Cancel(); Console.ReadKey(); } 定时取消任务创建 CancellationTokenSource 的时候可以传入时间毫秒或者Timespan), 通过它我们可以在等待一段时间后自动取消任务。 CancellationTokenSource cts new CancellationTokenSource(1000); _ Execute(cts.Token); Console.ReadKey(); 我们也可以调用 cts.CancelAfter(1000), 它会在1s后取消任务。cts.CancelAfter(1000); CancellationToken 注册回调我们可以调用 Register()方法注册Token取消的回调参数需要传入 Action 委托。 CancellationTokenSource cts new CancellationTokenSource(1000);cts.Token.Register(() Console.WriteLine(任务已取消!));// 开始异步任务 _ Execute(cts.Token); Console.ReadKey(); Register() 注册回调后返回一个 CancellationTokenRegistration 对象同样的你可以在回调函数执行前移除注册回调就像这样cts.Token.Register(() Console.WriteLine(任务已取消!)).Unregister(); 在 HttpClient 中使用同样你可以在 HttpClient 中使用传入 CancellationToken 或者使用HttpClient的Timeout属性超时后它会抛出一个 TaskCanceledException 的异常 CancellationTokenSource cts new CancellationTokenSource(10); _ await new HttpClient().GetAsync(https://www.youtube.com/,cts.Token); Console.ReadKey(); 在 WebAPI中使用我创建了一个 WebAPI 项目其中的控制器代码如下等待了5s然后进行输出信息。 [HttpGet] public async TaskIActionResult Index() {await Task.Delay(5000);Console.WriteLine(Executed);return Ok(); } 启动项目后我们在浏览器页面上访问接口在第一次访问接口等待响应时我刷新一次了页面现在程序的输出信息如下说明前台页面刷新后后台并没有做取消操作执行了两次我们可以把程序改成这样传入 CancellationToken[HttpGet] public async TaskIActionResult Index(CancellationToken token) {await Task.Delay(5000,token);Console.WriteLine(Executed);return Ok(); } 现在在浏览器访问页面同样的第一次还未返回是我们刷新一次页面程序输出如下只有一次输出第一次请求抛出了一次 TaskCanceledException 异常没有继续执行后边的逻辑当然你可以捕获这个异常返回更友好的提示欢迎扫码关注我们的公众号 【全球技术精选】专注国外优秀博客的翻译和开源项目分享。
http://www.zqtcl.cn/news/964849/

相关文章:

  • 西昌市建设工程管理局网站wordpress主题知更
  • 企业网站如何上存青岛做外贸网站哪家好
  • 保定网站建设冀icp备织梦设置中英文网站
  • 烟台市建设工程检测站网站妖姬直播
  • 式网站西安网页搭建
  • 百度云虚拟主机如何建设网站四川建设人员信息查询
  • 浅谈学校网站建设html5网页制作代码成品
  • 网站在当地做宣传郑州高端设计公司
  • 一级a做爰网站微网站建设平台
  • 网站建设 中广州网站建设+致茂
  • 常德车管所网站工作微信管理系统
  • 什么软件可以做dj视频网站做的好的装修公司网站
  • 网站维护的内容和步骤如何建设像艺龙一样网站
  • 外国人做的学汉字网站公司网页需要哪些内容
  • 网站做缓存企业营销型网站的内容
  • 免费带后台的网站模板wordpress vr主题公园
  • 美丽乡村 网站建设wordpress分页工具栏
  • 卡盟网站是怎么建设的产品开发设计
  • 第一免费营销型网站一起做网店17
  • 高端学校网站建设做网站是怎么赚钱的
  • 哪里可以找人做网站在服务器上中的asp网站后台能输入帐号无法进入
  • 怎么网站关键词语有哪些
  • 网站建设 维护费用环球易购招聘网站建设
  • 怎么做网站官方电话手机应用开发平台
  • 济南企业免费建站剪辑视频怎么学
  • 手表网站免费设计上海做网站制作
  • 深圳网站seo优化课程设计做淘宝网站的目的
  • 机械网站建设中心莱芜论坛莱芜都市网
  • 58同城类似的网站怎么做seo做的比较好的公司
  • 厦门网站建设培训学校网站程序定制开发流程