首页 > 解决方案 > .Net Core 3 WebAPI 在随机使用几天后变得无响应

问题描述

我们遇到了一个非常奇怪的问题,我们无法解决。我们有一个使用 Dot Net Core 3.1 制作的 API 应用程序,在 AWS EC2 实例上运行。API 工作得非常好,没有错误,也没有异常或负载过重。

随机数天后,一般在 20~40 天后,他们变得无响应,客户端收到 504 响应。

查看日志,我们看到每次尝试向端点发出请求时都会写入以下错误:

"System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at System.Threading.SemaphoreSlim.WaitUntilCountOrTimeoutAsync(TaskNode asyncWaiter, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)
   at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
   at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
   at Microsoft.AspNetCore.Authentication.AuthenticationHandler`1.AuthenticateAsync()
   at Microsoft.AspNetCore.Authentication.AuthenticationService.AuthenticateAsync(HttpContext context, String scheme)
   at Microsoft.AspNetCore.Authorization.Policy.PolicyEvaluator.AuthenticateAsync(AuthorizationPolicy policy, HttpContext context)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Builder.Extensions.UsePathBaseMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Server.IIS.Core.IISHttpContextOfT`1.ProcessRequestAsync()"

由 Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer 提出

只有在完全重新启动服务器后,应用程序才能再次运行。

服务器是 Windows Server 2019 实例。

标签: c#.netamazon-web-servicesasp.net-core

解决方案


推荐阅读