我已经为启用ASP.NET Core的Compute Engine实例设置了日志记录。我发现在看似随机的时间,public static void Main(string[] args)
方法被重新输入。有人告诉我这是由于应用程序回收。
此行为是我的代码失败的结果吗?是预定的吗?以及如何预防/确定原因?
谢谢
答案 0 :(得分:1)
此行为是我的代码失败的结果吗?
否,这是IIS的常规内务处理。您的应用程序处于空闲状态,IIS已决定释放并重新启动您的应用程序。原因之一是释放内存。另一个是防止内存泄漏缓慢消耗所有内存。
是预定的吗?
这由Idle Timeout
控制。您可以使它更长或更短。我不建议更改此设置。考虑一下为什么什么都没有发生(空闲)时需要运行程序。
以及如何预防/确定原因?
您可以通过更改Idle Timeout
来禁用回收或延迟回收。