У меня есть ASP. NEt Core 3.1 приложение с Angular 8 веб-интерфейсом. Он работает нормально, когда размещается на IIS, но когда я перенес его на новый сервер Ubuntu 18 с Nginx выше Kestrel, иногда перестают работать длительные фоновые процессы (IHostedService). Затем приложение запускает прием новых запросов, поэтому останавливается только фоновый процесс.
Эти процессы получают файлы от клиентов и дают немедленные ответы с идентификаторами процессов. Клиенты могут запрашивать состояние процесса по их идентификатору. В течение нескольких месяцев все работало нормально на IIS, но новый конфиг должен иметь некоторые ограничения, которые убивают эти процессы. Я предполагаю, что есть какой-то вариант kestrel или nginx, о котором я не знаю, и влияющий на процессы, запускаемые http-запросами.
Какие варианты я могу попробовать и где я могу получить некоторые журналы?
Я пытался записывать все из ядра. net, но даже самые подробные журналы здесь бесполезны. Журналы Nginx также не содержат никакой информации о остановленном процессе.
Хотя приложение работает нормально на IIS, я попытался найти блоки catch без какого-либо вывода и добавил в них вход, но все равно ничего. Могу ли я добавить что-либо в глобальные переменные моего приложения, чтобы регистрировать любые обработанные или необработанные исключения?
Я забыл сказать, что использую локальный Microsoft SQL Сервер Express, оба на windows и linux. Установка сервера linux Sql была произведена официальными документами MS (также как и конфигурации tnet и nginx). База данных восстанавливается из резервной копии сервера windows sql. Строка подключения такая же, как для множественных результатов = true. Есть ли какие-либо различия, о которых я должен знать?