Alb*_*ano 5 c# rest exception asp.net-web-api
我正在使用一个 Web API 来处理 FilterAttribute 发生的任何异常。
在WebApiConfig.cs文件中,它被注册:
config.Filters.Add(new ExceptionHandlerAttribute());
Run Code Online (Sandbox Code Playgroud)
它工作正常,任何时候引发未处理的异常,它都会进入过滤器属性 OnException 方法:
public class ExceptionHandlerAttribute : ExceptionFilterAttribute
{
public override void OnException(HttpActionExecutedContext context)
{(...)}
}
Run Code Online (Sandbox Code Playgroud)
现在,我有一个客户端应用程序,它故意以非常小的超时调用 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()
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪不显示服务器项目中的任何代码行。似乎当客户端调用被取消时,它会在服务器端引发此异常?这是预期的异常/行为吗?
如果是预期的,我只需忽略取消的客户端调用引发的这种异常?
提前致谢。
小智 0
当您尝试在操作完成之前取消该操作时,会出现此问题。调试您的代码并查看是否有任何 webAPI 方法被调用但未完成。希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
7864 次 |
| 最近记录: |