Мы использовали Reactive Extension для запуска определенных действий в определенное время.Реактивное расширение .Net - высокая доступность
Пример: через две минуты после определенного действия пользователя сделайте что-нибудь.
Синтаксис:
var observable = Observable.Timer(new TimeSpan(0, 0, someTime)).Take(1);
var subscribe = observable.Subscribe(i =>
{
DoSomething();
}
});
Но теперь, если/сервер IIS перезапускается, этот триггер теряется. Это необходимо для сохранения, поскольку у нас есть высокодоступное развертывание с несколькими серверами приложений, на которых размещен код.
Помогите нам в подходе к решению этого вопроса.
Что вы все пробовали? – Asti
Мы решили использовать кластер Quartz.Net в качестве альтернативы, но это означало бы изменение существующего кода. –
Стойкость состояния программы слишком сложна для обобщения. Все ваши обратные вызовы не захватываются? – Asti