gpt4 book ai didi

c# - Asp.NET Web API "The operation was canceled."异常

转载 作者:行者123 更新时间:2023-11-30 17:44:46 25 4
gpt4 key购买 nike

我正在使用一个 Web API 来处理 FilterAttribute 发生的任何异常。

在WebApiConfig.cs文件中,注册了:

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

它工作正常,任何时候引发未处理的异常时,它都会进入过滤器属性 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 方法但未完成。希望这会有所帮助。

关于c# - Asp.NET Web API "The operation was canceled."异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29040054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com