asp.net webapi的过滤器 ExceptionFilterAttribute 捕获一个异常消息如下:

检测到站点发生错误 "已取消该操作。"

错误跟踪: 在 System.Threading.CancellationToken.ThrowIfCancellationRequested() 在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 在 System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 在 System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext() --- 引发异常的上一位置中堆栈跟踪的末尾 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 在 System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()

官方的解答

关于异常的疑难解答:System.OperationCanceledException

  • 项目

  • 2011/08/12

如果在 UICancelOption 设置为 ThrowException 的情况下执行某一操作,然后取消了该操作,则将引发 OperationCanceledException。

相关提示

  • 如果您不希望引发此异常,请将 OperationCanceledException 设置为 DoNothing。
    UICancelOption 的默认值为 ThrowException。如果您不希望当用户取消操作时引发此异常,请将枚举值设置为 DoNothing。

https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/ms164920(v=vs.100)

解决办法

public class CancelledTaskBugWorkaroundMessageHandler : DelegatingHandler{protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken){HttpResponseMessage response = await base.SendAsync(request, cancellationToken);// Try to suppress response content when the cancellation token has fired; ASP.NET will log to the Application event log if there's content in this case.if (cancellationToken.IsCancellationRequested){return new HttpResponseMessage(HttpStatusCode.InternalServerError);}return response;}}
config.MessageHandlers.Add(new CancelledTaskBugWorkaroundMessageHandler());

asp.net webapi bug : System.OperationCanceledException 异常处理相关推荐

  1. 发现WinSRV2003SP1并没有包含ASP+Access的BUG更新

    看了Windows Server 2003 SP1的LIST后,发现解决Win2003上运行ASP+Access的BUG补丁没有包含在里面.很郁闷,真的很郁闷!苦苦等待的关键性更新却没有包含,看来微软 ...

  2. asp.net webapi 自托管插件式服务(转)

    webapi问世已久,稀里糊涂的人哪它都当mvc来使,毕竟已mvc使用级别的经验就可以应对webapi. webapi和mvc在asp.net5时代合体了,这告诉我们,其实 它俩还是有区别的,要不现在 ...

  3. 【转】OData – the best way to REST–实例讲解ASP.NET WebAPI OData (V4) Service Client

    一.概念介绍 1.1,什么是OData? 还是看OData官网的简单说明: An open protocol to allow the creation and consumption of quer ...

  4. 消费和部署ASP.NET WebApi服务–陷阱

    我相信您已经开始使用WebApi.如果不是这样,那么当您开始时,这篇文章仍然可以为您提供帮助. 这篇文章重点介绍我在使用ASP.NET WebApi开发时遇到的一些问题以及解决这些问题的解决方案. 陷 ...

  5. Asp.net webApi 通过WebSocket推送消息给客户端,搭建一个即是服务端又是客户端的服务

    Asp.net webApi 通过WebSocket推送消息给客户端,搭建一个即是服务端又是客户端的服务_IT_ziliang的博客-CSDN博客 WebSocket是一种在单个TCP连接上进行全双工 ...

  6. 【开源】分享一个前后端分离方案-前端angularjs+requirejs+dhtmlx 后端asp.net webapi

    一.前言 半年前左右折腾了一个前后端分离的架子,这几天才想起来翻出来分享给大家.关于前后端分离这个话题大家也谈了很久了,希望我这个实践能对大家有点点帮助,演示和源码都贴在后面. 二.技术架构 这两年a ...

  7. ASP.NET WebApi技术从入门到实战演练

    一.课程介绍 曾经有一位不知名的讲师说过这么一句名言: 一门RPC技术不会,那么千万万门RPC技术将都不会!在今天移动互联网的时代,作为攻城师的我们,谁不想着只写一套API就可以让我们的Web, An ...

  8. ASP.NET WebApi OWIN 实现 OAuth 2.0

    OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth 允许用户提供一个令牌, ...

  9. ASP.NET WebApi 基于分布式Session方式实现Token签名认证

    一.课程介绍 明人不说暗话,跟着阿笨一起学玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NETWebSer ...

最新文章

  1. Spring基于注解的AOP配置
  2. 微服务架构下,静态数据通用缓存机制!
  3. 惠普前总裁孙振耀指点职业规划
  4. 使用await和async关键字开发nodejs应用批量取出简书网站的文章标题和超链接
  5. mysql中数据定义和数据控制语言_MySQL 数据定义语言(DDL)
  6. ZOJ3805Machine(二叉树左右子树变换)
  7. 国内最大最全的交换技术专区上线
  8. labview报表生成工具包_后台开发java 常见工具包 netty、mq 、分布式锁等,干货
  9. putty和WinSCP后门检查及清理方式
  10. 编译器、Make和CMake之间的关系
  11. 19_debug断点调试
  12. 常用积分类型(积分公式)
  13. nb信号和4g信号_【行业】万物互联的世界NB-IoT VS 4G,到底哪个更能打?
  14. 神经网络模型用于数学建模
  15. 离散数学 传递闭包 Warshall算法
  16. 29 | 无锁的原子操作:Redis如何应对并发访问?
  17. 买菜App综合服务水平排行:盒马、多点、每日优鲜排前三
  18. 编译ros21讲中的服务端Server时报错
  19. 解决在word中插入Mathtype公式后行距变大的问题(简单有效)
  20. 如何在Django中优雅的使用pyecharts设计可视化BI系统(多图表)

热门文章

  1. Rafy 框架 - 幽灵插件(假删除)
  2. Java记录 -6- 流程控制语句
  3. 关于volatile(转)
  4. Leetcode#832. Flipping an Image(翻转图像)
  5. mysql数值类型总结及常用函数
  6. 多种方法实现自适应布局
  7. java--用 * 打印出各种图形(新手请进)
  8. 从基础开始:Qomo OpenProject中的一些关键词
  9. 迷茫在路口——致我的2014
  10. 唤醒计算机运行此任务_如何停止Windows 8唤醒计算机以运行维护