chu*_*nce 2 asp.net asp.net-mvc quartz.net
我试图通过嵌入我的.Net MVC2应用程序来使Quartz.net工作.我知道这不是理想的,但我只是想把它运行起来然后再转移到服务中.我无法解雇我的工作,但我认为我配置正确.在我的Global.asax.cs中:
protected void Application_Start()
{
Quartz.IScheduler scheduler = BuildQuartzScheduler();
...
}
Run Code Online (Sandbox Code Playgroud)
这个方法直接来自教程:
private IScheduler BuildQuartzScheduler()
{
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("myJob", null, typeof(QuartzController));
// fire every hour
Trigger trigger = TriggerUtils.MakeMinutelyTrigger();
// start on the next even hour
trigger.StartTimeUtc = TriggerUtils.GetEvenMinuteDate(DateTime.UtcNow);
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);
return sched;
}
Run Code Online (Sandbox Code Playgroud)
而"控制器:"
public class QuartzController : IJob
{
public QuartzController() {
}
public void Execute(JobExecutionContext context) {
throw new NotImplementedException();
}
}
Run Code Online (Sandbox Code Playgroud)
什么都没有被解雇.这是怎么回事?我确定必须有一个简单的语法错误,但这让我发疯!
如果Application_Start看起来像这样,那么我认为scheduler一旦该方法完成执行,你的变量很可能被垃圾收集.
我会scheduler在你的HttpApplication类中存储一个作为静态变量的引用.这样,引用会在进程持续时间内挂起.一个猜测,但值得一试.
| 归档时间: |
|
| 查看次数: |
1864 次 |
| 最近记录: |