Веб-сайты ASP.NET Core перестают отвечать на запросы - PullRequest
0 голосов
/ 04 мая 2018

У меня есть два сайта, запущенные на моей машине разработки в течение последних 8 месяцев или около того. Оба сайта используют ASP.NET Core, и оба работают на Kestrel за IIS.

За последние пару недель сайты стали головной болью. После создания или перезапуска IIS сайты работают нормально, но через несколько минут они перестают отвечать на запросы. Ничего, и я имею в виду, что абсолютно ничего не происходит, когда я получаю к ним доступ в браузере или из любого другого приложения. Выходные данные не отображаются в VS (если отладчик подключен, он все равно не работает). Если я включу stdout в web.config, я увижу, что это занимает несколько секунд, просто чтобы записать запрос оператора из Entity Framework. Проблема сохраняется, если я отключаю стандартный вывод.

Моя машина - i7-6700K с оперативной памятью 16 ГБ. Когда это происходит, загрузка моего процессора составляет около 0-3%, и в последний раз, когда я проверял, у меня было 50% свободной памяти.

Оба сайта используют сервер MySQL 5.7, который также используется другими приложениями одновременно. Обычные сайты ASP.NET работают нормально, когда это происходит.

Пакеты NuGet, используемые в обоих проектах:

  • IdentityServer4 2.0.4
  • IdentityServer4.EntityFramework 2.1.0
  • MailKit 2.03
  • Microsoft.AspNetCore.All 2.0.7
  • Microsoft.VisualStudio.Web.CodeGeneration.Design 2.0.0
  • MySql.Data 8.0.11
  • NLog 4.5.3
  • NLog.Web.AspNetCore 4.5.2
  • Pomelo.EntityFrameworkCore.MySql 2.0.1

Кроме того, проект А ссылается на:

  • IdentityServer4.AspNetIdentity 2.1.0
  • Microsoft.EntityFrameworkCore.Tools 2.0.2
  • NETStandard.Library 2.0.2
  • Ngonzalez.ImageProcessorCore 0.0.1

Проект B ссылается:

  • Hangfire 1.6.17
  • Hangfire.MySql.NetCore 1.0.7
  • IdentityServer4.AccessTokenValidation 2.1.0
  • Microsoft.AspNetCore.Mvc.Versioning 2.0.0

Версии программного обеспечения:

  • Visual Studio Enterprise 2017 версия 15.6.7
  • dotnet - версия: 2.1.105
  • Windows 10 Pro 1709 16299,371

Оба сайта работают нормально на нашем производственном веб-сервере, проблема возникает только на моей машине для разработки и с точно такими же сборками!

Обновление 2018-05-08

Я попытался установить nLog dbProvider и удалил пакет MySql.Data NuGet, как это было предложено Марком Г., но проблема все еще существует.

Отформатировали и установили весь компьютер. Без изменений.

Обновление 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();
...