我正在寻找在找工作调度程序设置为我的MVC3网站的使用里面的一些指导。 我一直在看Quartz.NET这一点,但我有麻烦找在线指导,尽可能的设置,以确保当网站是它的运行。
有了上面的信息考虑在内。 我知道一对夫妇的“缺点”来设置IIS的内部作业调度的。 我希望看到设置的工作是简单的清理工作,其中时间是相当不重要的,所以如果IIS经过并回收该线程的网站真的只是不会是一个大问题。 即。 如果每天运行,由于回收/ 10次重新启动该网站的线程将被罚款/如果因为线程,无法启动这很好,以及(虽然不太可能)运行一个月一次。
我似乎记得在SO或问题,通过谷歌后这显示出设置它的内部Application_Start()
在Global.asax
,但不能在任何地方现在发现这个信息。 有没有人对如何实现类似于我在谈论的东西任何建议?
经过一番搜索,我发现这个问题上,以便对实施Quartz.NET的内部会谈global.asax
文件。
为了实现它,我只是引用Quartz.dll
在新的(在这篇文章的时候)下载软件包,并用下面的代码...
protected void Application_Start()
{
/*
* Include other Application_Start() code...
*/
//Job Scheduling
try {
//Setup the new Scheduler
var sf = new StdSchedulerFactory();
var sched = sf.GetScheduler();
sched.Start();
//Setup the Job
var jobDetail = new JobDetailImpl( "myJob", null, typeof( DocCleanup ) );
//Create 1 week trigger that will go on forever
var trigger = new SimpleTriggerImpl( "jobTrigger", SimpleTriggerImpl.RepeatIndefinitely, new TimeSpan( 168, 0, 0 ) );
trigger.StartTimeUtc = DateTimeOffset.Now;
//Add the job to the scheduler
sched.ScheduleJob( jobDetail, trigger );
} catch (Exception ex) { //Implement Exception code... }
}
我不希望建立一个控制台应用程序/ SQL作业的/ etc这个特定需要。 这主要是由于极端联合国可靠性,在我的问题提到,从它可以接受的。 随着中说,如果你需要任何形式的担保,以当作业的运行,我怀疑你会想用这种方式来实现Quartz.NET。
您可以创建一个控制台应用程序做的清理工作(我不知道什么样的清理你想做的事)。 您可以使用Windows任务调度程序来调用这个程序,在特定的时间间隔做你的工作
另一种选择是创建一个将在特定的时间间隔执行的SQL工作。 你的工作里面存储的过程可以调用托管代码。 所以,你可以打电话从您的点网代码。
如果是单纯的清洁SQL表,只要写一个SQL工作,这做的。