Я написал HttpModule, который порождает фоновый поток. Я использую поток как запланированную задачу, которая запускается в процессе, что очень удобно.Каковы некоторые рекомендации по управлению фоновыми потоками в IIS?
Что такое лучшие практики для отслеживания этой темы? Я никогда не делал этого раньше, и я немного запутался о некоторых его аспектах:
Как я знаю, что если поток все еще работает? Я вижу, что он выполняет свою работу, но есть ли другой способ узнать, жив ли он еще? Я загрузил ProcMon, но w3wp.exe порождает лодку тем, поэтому я понятия не имел, что такое моя нить. Я назвал это, но это не помогло.
Как «поймать» поток, если он умирает? Есть ли какой-то метод Dispose, где я могу его написать в EventLog или что-то в случае его отказа? «Умирающая декларация» или что-то еще?
Как активно остановить поток? Если я хочу, чтобы он прекратил выполнение этого фонового процесса, как мне его убить без необходимости отскакивать IIS?
Есть ли способ запустить его снова, независимо от HttpModule? (Я предполагаю, что ответ на это нет ...)
Edit: Просто чтобы прояснить, намерение состоит в том, что мой поток никогда не уходит. Он выполняет функцию, затем ложится спать на пару минут, затем просыпается и снова запускает функцию. Это не похоже, что он делает одну задачу, а затем заканчивается.
Вы получаете сообщение об ошибке system.timeout? – TStamper
пренебрежение. которые не должны применяться к этому – TStamper