簡體   English   中英

Asp.NET Web API“操作被取消了。”例外

[英]Asp.NET Web API “The operation was canceled.” exception

我正在使用Web API來處理使用FilterAttribute發生的任何異常。

在WebApiConfig.cs文件中,它已注冊:

  config.Filters.Add(new ExceptionHandlerAttribute());

它正常工作,每當引發未處理的異常時,它就會進入filter屬性OnException方法:

public class ExceptionHandlerAttribute : ExceptionFilterAttribute
{
    public override void OnException(HttpActionExecutedContext context)
    {(...)}
}

現在,我有一個客戶端應用程序故意調用API超時非常小。 似乎每次超時都到期,它會以某種方式影響服務器,並且FilterAttribute中會捕獲以下異常:

context: System.Web.Http.Controllers.HttpActionContext
"The operation was canceled."

at System.Threading.CancellationToken.ThrowOperationCanceledException()
at System.Threading.CancellationToken.ThrowIfCancellationRequested()
at System.Net.Http.HttpContentExtensions.<ReadAsAsyncCore>d__0`1.MoveNext()

堆棧跟蹤不會在服務器項目中顯示任何代碼行。 似乎當客戶端調用被取消時,它會在服務器端引發此異常? 這是預期的異常/行為嗎?

如果是預期的,我只需要忽略被取消的客戶呼叫引發的這種異常?

提前致謝。

當您嘗試在完成之前取消操作時,會發生此問題。 調試代碼並查看是否調用了任何webAPI方法但未完成。 希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM