asp.net webapi bug : System.OperationCanceledException 异常处理

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());

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293709.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode中vue项目报错

当在vscode中写代码时&#xff0c;报错报错报错......... 已经头大&#xff0c;还没写就报错&#xff0c; 这是因为eslint对语法的要求太过严格导致的编译时&#xff0c;出现各种语法格式错误 我们打开vue.config.js&#xff0c;加上这句代码&#xff0c;就OK啦 lintOnSave:…

nginx连接uwsgi使用web.py框架构造pythonweb项目

2019独角兽企业重金招聘Python工程师标准>>> 相关页面&#xff1a;http://webpy.org/installhttp://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.htmlhttp://projects.unbit.it/uwsgi/wiki/Example uwsgi的安装需要python-devel&#xff0c;可以使用yum s…

《SAS编程与数据挖掘商业案例》学习笔记之九

继续之前的读书笔记&#xff0c;废话少说&#xff0c;直奔主题。 本文重点在infile语句。 十一&#xff1a;infile语句 Dsd 规定一个数据集可以包含分隔符&#xff0c;但是要用引号括起来&#xff0c;两个连续分隔符之间的数作为缺失值处理&#xff0c; 默认分隔符为逗号 Fir…

.NET WinForm程序中给DataGridView表头添加下拉列表实现数据过滤

转&#xff1a;http://www.cnblogs.com/jaxu/archive/2011/08/04/2127365.html 我们见过Excel中的数据过滤功能&#xff0c;可以通过点击表头上的下拉列表来实现数据的过滤&#xff0c;这个功能很实用&#xff0c;省去了我们需要在程序中单独设计数据的查询过滤模块&#xff0c…

减少联调、高效集成,试试这个工具

大家好&#xff0c;我是Z哥。最近在工作中学习到一个我觉得很有价值的小工具&#xff0c;在这里与大家分享一下。这个小工具需要自己稍作开发&#xff0c;并不存在什么第三方的现成工具供你使用&#xff0c;因为这个工具的核心关键是「数据」&#xff0c;而「数据」这个东西对于…

浅谈C++类(7)--析构函数

欢迎转载&#xff0c;但请标明作者 “九天雁翎”&#xff0c;当然&#xff0c;你给出这个帖子的链接更好。 不知不觉我都写了6讲了&#xff0c;的确这样讲出来的学习才能迫使我真的去调试每个书上出现的代码&#xff0c;去想些自己能讲出什么新的书上没有的东西&#xff0c;这才…

Hadoop示例程序WordCount详解及实例

2019独角兽企业重金招聘Python工程师标准>>> 1.图解MapReduce MapReduce整体流程图 并行读取文本中的内容&#xff0c;然后进行MapReduce操作 Map过程&#xff1a;并行读取三行&#xff0c;对读取的单词进行map操作&#xff0c;每个词都以形式生成 reduce操作是对ma…

《SAS编程与数据挖掘商业案例》学习笔记之十

继续之前的读书笔记&#xff0c;本次讲解sas主要的变量操作&#xff0c;包括基本赋值语句、累加语句、keep语句、retain语句、array语句、rename语句、length语句。 1.基本赋值语句 zx y; zsum(x,y); sum函数的好处是可以克服缺失值的影响&#xff1b; 2.如果表达式中既有数值…

title与h1标签的区别和联系

很多新站长在网站SEO过程中&#xff0c;会认为把H1等同于Title。 其实两是有区别和联系的&#xff0c;两者不能划等号。下面主要从文章和页面角度分析title和H1。 H1等同于title吗? H1不等于title。H1&#xff0c;大标题。一般出现在文章页面&#xff0c;作用如同一张报…

浅谈C++类(5)--友元

欢迎转载&#xff0c;但请标明作者 “九天雁翎”&#xff0c;当然&#xff0c;你给出这个帖子的链接更好。 呵呵&#xff0c;又来了&#xff0c;自从我开始尝试描述类以来&#xff0c;我发现我自己是开始真的了解类了&#xff0c;虽然还不到就明白什么叫oo的高深境界&#xff0…

.NET 云原生架构师训练营(系统架构)--学习笔记

▲ 点击上方“DotNet NB”关注公众号回复“1”获取开发者路线图学习分享 丨作者 / 郑 子 铭 这是DotNet NB 公众号的第176篇原创文章目录对外展现的功能内部功能功能交互与价值通路系统架构目标认识系统的价值通路认识功能架构&#xff0c;通过把功能结构与形式结构结合来描…

JFinal整合CKFinder

2019独角兽企业重金招聘Python工程师标准>>> 使用JFinal对之前的系统进行重构&#xff0c;老系统使用了CKEditorCKFinder编辑器&#xff0c;发现在web.xml中配置ConnectorServlet会被JFinalFilter过滤处理&#xff0c;而且使用JFinal之后也不想在web.xml中增加额外的…

通过简单的Word Count讲解MapReduce原理以及Java实现

MapReduce原理&#xff1a; MapReduce采用"分而治之"的思想&#xff0c;把对大规模数据集的操作&#xff0c;分发给一个主节点管理下的各个分节点共同完成&#xff0c;然后通过整合各个节点的中间结果&#xff0c;得到最终结果。简单地说&#xff0c;MapReduce就是&q…

经验总结03-dwr

java使用dwr进行ajax请求。 1.编写对应的查询数据的类。 2.添加dwr.jar&#xff0c;可直接复制到lib下。 3.在dwr.xml配置对应的类&#xff0c;让其可在页面中调用类。<create creator"new" javascript"test"><param name"class" value…

浅谈C++类(6)--复制构造函数

欢迎转载&#xff0c;但请标明作者 “九天雁翎”&#xff0c;当然&#xff0c;你给出这个帖子的链接更好。 还记得&#xff08;1&#xff09;中讲到的构造函数吗&#xff1f;复习一下&#xff0c;这次我们重载一个新的默认构造函数--即当你不给出初始值时调用的构造函数&#x…

.NET 6新特性试用 | TryGetNonEnumeratedCount

前言.NET 6新增了TryGetNonEnumeratedCount方法&#xff0c;计算可枚举类型的元素总数。LINQ不是已经有了Count方法吗&#xff0c;为什么还要画蛇添足呢&#xff1f;Demo尝试下列代码&#xff1a;var b new B<int>(); Console.WriteLine($"{b.Count()}");var …

阻塞队列之七:DelayQueue延时队列

一、DelayQueue简介 是一个无界的BlockingQueue&#xff0c;用于放置实现了Delayed接口的对象&#xff0c;其中的对象只能在其到期时才能从队列中取走。这种队列是有序的&#xff08;PriorityQueue实际存放Delayed接口对象&#xff09;&#xff0c;即队头对象的延迟到期时间最短…