Выполнение заданий Quartz.NET из службы Windows

Я получил веб-приложение ASP.NET MVC 4 и quartz.net, работающие в качестве службы Windows, и общие журналы настроены в соответствии с этими источниками:

http://geekswithblogs.net/TarunArora/archive/2012/11/16/install-quartz.net-as-a-windows-service-and-test-installation.aspx

http://geekswithblogs.net/TarunArora/archive/2012/11/17/quartz.net-windows-service-configure-logging.aspx

и с этим кодом в Global.asax на месте:

        var properties = new NameValueCollection();
        properties["quartz.scheduler.instanceName"] = "ServerScheduler";

        // set thread pool info
        properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz";
        properties["quartz.threadPool.threadCount"] = "5";
        properties["quartz.threadPool.threadPriority"] = "Normal";

        // set remoting expoter
        properties["quartz.scheduler.proxy"] = "true";
        properties["quartz.scheduler.proxy.address"] = "tcp://localhost:555/QuartzScheduler";
        // construct a scheduler factory
        ISchedulerFactory schedFact = new StdSchedulerFactory(properties);

        // get a scheduler
        IScheduler sched = schedFact.GetScheduler();
        sched.Start();

        IJobDetail jobDetail = JobBuilder.Create()
            .WithIdentity("simpleJob", "simpleJobs")
            .RequestRecovery()
            .Build();

        ITrigger trigger = TriggerBuilder.Create()
            .WithIdentity("simpleTrigger", "simpleTriggers")
            .StartNow()
            .WithSimpleSchedule(x => x.WithRepeatCount(4).WithIntervalInSeconds(10))
            .Build();

        sched.ScheduleJob(jobDetail, trigger);

и работа:

    public class SimpleJob : IJob
    {
        public SimpleJob()
    { 

    }

    public void Execute(IJobExecutionContext context)
    {
        Debug.WriteLine("I Executed at " + DateTime.Now.ToString());
    }
}

и теперь, если я запускаю приложение, журнал выдает что-то вроде этого 5 раз

    19:35:23 [ServerScheduler_QuartzSchedulerThread] DEBUG    Quartz.Core.QuartzSchedulerThread - Batch acquisition of 1 triggers
    19:35:23 [ServerScheduler_QuartzSchedulerThread] DEBUG Quartz.Simpl.SimpleJobFactory - Producing instance of Job 'simpleJobs.simpleJob', class=Navigate.Quartz.Jobs.SimpleJob
    19:35:23 [ServerScheduler_QuartzSchedulerThread] DEBUG Quartz.Core.QuartzSchedulerThread - Batch acquisition of 1 triggers
    19:35:23 [ServerScheduler_Worker-1] DEBUG Quartz.Core.JobRunShell - Calling Execute on job simpleJobs.simpleJob
    19:35:23 [ServerScheduler_Worker-1] DEBUG Quartz.Core.JobRunShell - Trigger instruction : NoInstruction

Затем удаляет триггер и продолжает, но никакое задание не выполняется и никакие строки не записываются в отладочный вывод.

однако, если я запускаю планировщик, встроенный в приложение, не передавая NameValueCollection в StdSchedulerFactory

    ISchedulerFactory schedFact = new StdSchedulerFactory();

все работает нормально, и я получаю строки, выводимые 5 раз каждые 10 секунд

    I Executed at 28.05.2013. 19:47:48
    I Executed at 28.05.2013. 19:47:58
    I Executed at 28.05.2013. 19:48:08
    I Executed at 28.05.2013. 19:48:18
    I Executed at 28.05.2013. 19:48:28

Чего мне не хватает, почему служба Windows на самом деле не выполняет код, служба работает как локальная система, ничего не изменится, если я перейду на учетную запись администратора. Любая помощь будет оценена.

Крис

Ответы на вопрос(1)

Ваш ответ на вопрос