У меня есть сайт asp.net с фоновым сервисом, который отправляет почтовые сообщения по электронной почте каждую минуту. Проблема заключается в том, что мы перешли в веб-сад (несколько рабочих процессов), и электронные письма отправляются несколько раз (в то же время или близко к нему), потому что несколько потоков ссылаются на этот фоновый процесс.Предотвращение нескольких потоков от выполнения одного и того же фонового процесса
Есть ли способ назначить один поток или иметь только один поток, который запускает этот процесс каждую минуту и говорит другим игнорировать его?
Спасибо!
Вы говорите, что несколько потоков могут отправлять одно и то же электронное письмо? Это похоже на ошибку в очереди. Или вы говорите, что несколько потоков могут поставить в очередь один и тот же адрес электронной почты? Здесь нужно немного подробнее. –
Несколько потоков могут помещать в очередь те же письма. – chobo
Какой у вас механизм обслуживания фона? Это выделенный поток в w3wp.exe, который проверяет DB для новых задач или NT служит Quartz? – sh1ng