过去8个月左右,我的开发机器上运行了两个站点。两个站点都使用ASP.NET Core,两者都在IIS后面的Kestrel上运行。
在过去的几周里,这些网站变得令人头疼。在构建或重新启动IIS之后,这些站点工作正常,但几分钟后,它们没有响应。没什么,我的意思是当我在浏览器或任何其他应用程序中访问它们时绝对没有任何反应。 VS中没有显示输出(如果附加调试器,则无论如何都会失败)。如果我在web.config中启用stdout,我可以看到它需要几秒钟,只是为了记录来自Entity Framework的语句的查询。如果禁用stdout,问题仍然存在。
我的机器是i7-6700K,16 gb ram。当发生这种情况时,我的CPU使用率大约在0-3%左右,而上次我检查时我的内存占用了50%。
两个站点都使用MySQL服务器5.7,同时也被其他应用程序使用。发生这种情况时,常规ASP.NET网站可以正常工作。
两个项目中使用的NuGet包:
此外,项目A正在引用:
项目B正在引用:
软件版本:
这两个站点在我们的生产Web服务器上运行良好,问题只发生在我的开发机器上,并且具有完全相同的构建!
更新2018-05-08
我已经尝试按照Mark G.的建议设置nLog dbProvider并删除了MySql.Data NuGet包,但问题仍然存在。
已格式化并安装了整台PC。没有变化。
更新2018-05-09
调试似乎让网站保持活力......但这不是一个可行的解决方案。
更新2018-05-09
现在它也在生产中发生。
更新2018-05-09
我已经尝试过早期版本的网站,其中NLog尚未实现,因此没有MySql.Data和Microsoft.AspNetCore.All不会被强制为2.0.7,只有2.0。 0,我的结果相同。
我还尝试将所有NuGet软件包更新到最新版本,但没有运气。
更新2018-05-11
我可能正在寻找解决方案。我已经从我的Startup.Configure()中删除了以下两行代码。它看起来很有希望,但我没有太多的时间来测试,但据我所知,它已经解决了现在的问题! :)
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();