【发布时间】:2020-05-25 11:09:59
【问题描述】:
我在 Windows Server 2016 上的 IIS 上托管了我的 Asp.Net Core API 项目,并在上面安装了 Asp.Net 核心应用程序的托管包;几个小时后必须重新启动我的应用程序。请帮我解决这个问题。
【问题讨论】:
-
重启是什么意思?您的 IIS 重新启动或应用程序重新启动?频率是多少?您在哪里看到重新启动,从事件查看器或其他地方?这次重启是由崩溃引起的吗?
-
重启意味着..我的API正在向移动应用程序提供数据,并且在用户从移动应用程序请求数据的一天,经过几个小时的连续请求-响应周期后,API停止响应;为了使它能够响应 HTTP 请求,我必须停止并从 IIS 启动我的 API 应用程序。
-
这可能是由各种可能的原因引起的,您需要在 API 停止响应时捕获转储文件,并分析是否有任何东西挂在您的代码中。我曾经看到过同样的问题,结果在我的代码中我的 redis 连接是由 DI 注入的,并且在错误的范围内,evey 请求打开了一个新连接,最后我的端口用完了。所以要分情况。您可以使用DebugDiag 工具捕获转储并对其进行分析。
-
您可以参考以下文档在您的应用程序挂起时捕获转储文件。 support.microsoft.com/en-us/help/919792/…
标签: asp.net-core