我目前有一个使用.Net Core创建的Restful API。第三方可以调用我的api,并在返回响应之前通过我的api进行一些其他调用。
在第三方请求超时/他们取消请求的情况下,.net核心api中的请求发生了什么。它会继续保持生命并返回响应,还是线程/调用会停止?
如果它停止了,我怎么能保证不会发生这种情况?
这取决于您的实现。
您可以CancellationToken
向每个控制器端点注入a并使用它,以检查请求是否已被取消。
默认情况下,当浏览器取消请求时,将从服务器接收该信息,并请求取消。该标志RequestAborted
随后被所设定的HttpContext
,可以在每个请求或经由IHttpContextAccessor
控制器端点的外部。
在以前的ASP.NET Core 2.0中,使用IIS作为反向代理时存在问题。它不会识别请求的取消。
一些资源:
https://andrewlock.net/using-cancellationtokens-in-asp-net-core-mvc-controllers/
https://dev.to/joaofbantunes/using-cancellation-tokens-on-aspnet-core-mvc-actions-57hi
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句