Максимальное количество времени, которое может запустить поток?
У меня есть веб-сервис, который создает поток для обработки некоторых данных в фоновом режиме. Я видел сообщение "System.Threading.ThreadAbortException: поток был прерван" в одном из моих журналов, где поток был убит. В настоящее время я предполагаю, что поток будет работать столько же времени, сколько требуется для выполнения задач, над которыми он работает, однако после поиска в гугле исключения я увидел несколько сообщений, в которых упоминалось увеличение свойства ExecutionTimeOut приложения в Интернете. Конфигурационный файл Мой вопрос:
Какое максимальное время выполнения потока выполняется в ASP.NET? Является ли этот тайм-аут неограниченным или все еще связанным свойством ExecutionTimeOut приложения?
1 ответ
Это похожий вопрос.
Как узнать кто убивает мои темы
Вы можете запустить его, пока работает пул. Если пул, в котором хранится поток, перезапускается, он ожидает завершения всех потоков, но веб-служба для запуска страниц в этот момент перестает работать, и у вас возникают проблемы. Кроме того, если вы настроили свой пул, то в пуле перезапустите, если поток не остановится через некоторое время, его уничтожить.
В моей программе один индексный поток работал более 26 часов, выполняя тяжелую работу с базой данных, и выполнял статическую функцию.