Я создаю проект, использующий Quartz.NET (с хранилищем БД ADO.NET). Существует основной компонент, то есть компонент, который выполняет задания (консольное приложение на данный момент будет службой Windows), а также несколько веб-форм, где пользователи могут добавлять задания и редактировать задания (редактировать значения карты данных, чтобы быть конкретными).
У меня возникла небольшая проблема с доступом к планировщику со всех страниц - основной компонент и страница «добавить работу» работают отлично, без каких-либо проблем. Но в них я по существу делаю это в обоих:
NameValueCollection properties = new NameValueCollection();
properties["quartz.scheduler.instanceName"] = "schedService";
properties["quartz.scheduler.instanceId"] = "sched1";
properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz";
properties["quartz.threadPool.threadCount"] = "10";
properties["quartz.threadPool.threadPriority"] = "Normal";
properties["quartz.jobStore.misfireThreshold"] = "60000";
properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
properties["quartz.jobStore.useProperties"] = "false";
properties["quartz.jobStore.dataSource"] = "default";
properties["quartz.jobStore.tablePrefix"] = "QRTZ_";
properties["quartz.jobStore.clustered"] = "true";
// if running MS SQL Server we need this
properties["quartz.jobStore.lockHandler.type"] = "Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz";
properties["quartz.dataSource.default.connectionString"] = "Data Source=CHRIS\\SQLEXPRESS;Initial Catalog=Scheduler;Integrated Security=True;Pooling=False";
properties["quartz.dataSource.default.provider"] = "SqlServer-20";
ISchedulerFactory schedService = new StdSchedulerFactory(properties);
IScheduler sched = schedService.GetScheduler();
Когда я делаю то же самое на странице редактирования, он сообщает мне, что планировщик с таким именем уже существует.
Я знаю, что, вероятно, делаю что-то действительно глупое, но как я могу объявить планировщик на всех своих страницах, чтобы получить к ним доступ?