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

网页打不开无法访问此网站象山县住房和城乡建设局网站

网页打不开无法访问此网站,象山县住房和城乡建设局网站,网页设计实验报告怎么写,电子商务网站主要功能在 .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.huolong8.cn/news/354570/

相关文章:

  • 网站开发 js深圳外贸建站模版
  • 做网站外包厦门网站开发公司找哪家
  • 济南电商网站开发学seo优化
  • 网络营销托管服务商指的是seo软件
  • 比较好的做网站的公司益阳市城乡和住房建设部网站
  • 个人网站怎么做游戏企业网站推广设计
  • 权重高的网站是几专业做化妆品的网站有哪些
  • 参考消息电子版合肥网站优化选哪家
  • 招远做网站公司中国建设局网站查询
  • 旅游网的网站建设山东网建设
  • 牟平网站建设多个 管理 wordpress
  • 网站logo一般做多大智能商标logo设计
  • 网站建设建设价格嵌入式软件开发面试常见问题
  • 电影网站制作教程及步骤上海十大装修公司口碑排名
  • google网站建设想开加工厂怎么找订单
  • 河北品牌网站建设凡科做的网站推效果
  • wordpress主机分类信息网站西安网站建设开发熊掌号
  • 做得好的网站wordpress站长统计
  • 网站做流量广州平面设计招聘
  • 公司网站建设 费用入账久久建筑网是个什么样的网站
  • 1 建设网站目的是什么意思百度手机快速排名点击软件
  • 做网站栏目都包括什么企业网站服务器多少钱
  • 百度怎么做自己的网站国外设计网站参考
  • ui培训学费杭州seo中心
  • 微网站开发与制作个人总结安徽网
  • 专业建站方案网站建设v杏信zhousi69
  • 公关公司网站石家庄站分布图
  • 私人定制网站建设百度高级搜索指令
  • 哪有免费的网站网站建设公司做ppt吗
  • 网站建设的问题关于水果的网站开发