首页 新闻 赞助 找找看

webapi后台日志看到这个,但是不知道是啥原因引起的

0
悬赏园豆:20 [待解决问题]

错误详情:已取消该操作。--------- 在 System.Threading.CancellationToken.ThrowOperationCanceledException()
在 System.Net.Http.HttpContentExtensions.<ReadAsAsyncCore>d__0`1.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Web.Http.ModelBinding.FormatterParameterBinding.<ExecuteBindingAsyncCore>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Web.Http.Controllers.HttpActionBinding.<ExecuteBindingAsyncCore>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext()

zhyhunan的主页 zhyhunan | 初学一级 | 园豆:64
提问于:2016-11-21 14:21
< >
分享
所有回答(2)
0

貌似是webapi 2.0的一个bug,尝试如下操作:
config.MessageHandlers.Add(new CancelledTaskBugWorkaroundMessageHandler());

class CancelledTaskBugWorkaroundMessageHandler : DelegatingHandler
{
protected override async Task 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;
}

}

链接来源:http://stackoverflow.com/questions/22157596/asp-net-web-api-operationcanceledexception-when-browser-cancels-the-request/22621596#22621596

Jeffcky | 园豆:2789 (老鸟四级) | 2016-11-21 14:32

你发的链接我也看过,就是我想知道 怎么重现这个现象,我按照文档说的去重现没有重现出来,但是后台日志有时会报这个错

支持(0) 反对(0) zhyhunan | 园豆:64 (初学一级) | 2016-11-21 14:48

@zhyhunan: 哦,那就不太清楚了!

支持(0) 反对(0) Jeffcky | 园豆:2789 (老鸟四级) | 2016-11-21 15:08

@zhyhunan: 快速刷新页面 不停的刷新 出现了。

支持(0) 反对(0) s_p | 园豆:138 (初学一级) | 2018-07-13 17:27
0

找到问题原因了吗?

skybirdzw | 园豆:3 (初学一级) | 2019-04-24 17:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册