Итак, я использую Quartz Scheduler для своего приложения ASP.NET MVC, чтобы запланировать работу для записи файла.Это задание может запускаться ежечасно, ежедневно, еженедельно и т. Д. В зависимости от требований пользователя при настройке задания с веб-страницы.
Код по этой ссылке: Как проверить, выполняется ли конкретное задание в кварцевом планировщике c #
Однако я отказался от метода stop (), чтобы запустить настроенное заданиенавсегда.Я могу успешно запустить задания локально, но вижу, что задание файла выполняется только после обновления веб-приложения, работающего на сервере IIS.
Сначала я вызывал start () моего планировщика заданий в Application_start () файла Global.asax.cs, чтобы возобновить задание при запуске веб-приложения.
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
using (var db = new M3DBContext())
{
//db.Configurations is a table in my db
var file_loc = (from c in db.Configurations where c.ConfigurationKey == "file_location" select c.ConfigurationValue).Single();
var freq = (from c in db.Configurations where c.ConfigurationKey == "frequency" select c.ConfigurationValue).Single();
var delim = (from c in db.Configurations where c.ConfigurationKey == "delimiter" select c.ConfigurationValue).Single();
var datetime = (from c in db.Configurations where c.ConfigurationKey == "datetime" select c.ConfigurationValue).Single();
//System.Diagnostics.Debug.WriteLine(file_loc + " " + freq + " " + delim + " " + datetime);
JobScheduler js = new JobScheduler(datetime,freq);
if (!(file_loc.Equals("default") || freq.Equals("default") || delim.Equals("default") || datetime.Equals("1970-1-1")))
{
js.start();
}
}
}
Но главное требование состоит в том, чтобы запланированное задание выполнялось вечно с заданными интервалами, несмотря на то, что веб-приложение открыто / закрыто / обновлено / не обновлено.Моя работа не запускается, когда веб-приложение закрыто и IIS все еще включен.
Как я могу заставить планировщик кварца моего приложения работать вечно в IIS, несмотря на то, что веб-приложение открыто / закрыто / обновлено / не обновлено