C# 如何停止使用Quartz的服务?
我不熟悉MSMQ、Quartz和服务。我有一个服务,如果抛出异常,将发送通知电子邮件。我正在试图找到一种方法,在发送电子邮件后暂停或停止服务,这样我就不会一次又一次地收到相同的异常电子邮件。我只需要一次电子邮件。 到目前为止,我已经尝试:C# 如何停止使用Quartz的服务?,c#,service,quartz-scheduler,msmq,quartz.net,C#,Service,Quartz Scheduler,Msmq,Quartz.net,我不熟悉MSMQ、Quartz和服务。我有一个服务,如果抛出异常,将发送通知电子邮件。我正在试图找到一种方法,在发送电子邮件后暂停或停止服务,这样我就不会一次又一次地收到相同的异常电子邮件。我只需要一次电子邮件。 到目前为止,我已经尝试: _scheduler.DeleteJob(jobKey) _计划外作业(triggerKey) _scheduler.Shutdown() _调度程序中断(jobKey) serviceController.Stop() serviceController.P
public void CreateRegistration()
{
this._scheduler = StdSchedulerFactory.GetDefaultScheduler();
CreateJob();
CreateTrigger();
RegisterWithScheduler();
}
public void CreateJob()
{
_scheduler.Start();
this._job = JobBuilder.Create<RecieveMessageJob>()
.WithIdentity("ReceiveMessagesJob",
this._messageGroupName)
.Build();
}
public void CreateTrigger()
{
_trigger = TriggerBuilder.Create()
.WithIdentity(this._triggerName, this._messageGroupName)
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInMinutes(1)
.RepeatForever())
.Build();
}
public void RegisterWithScheduler()
{
_scheduler.ScheduleJob(_job, _trigger);
}
public void PauseService()
{
TriggerKey triggerKey = this._trigger.Key;
JobKey jobKey = this._job.Key;
// Define a new Trigger
//ITrigger exceptionTrigger = TriggerBuilder.Create()
// .WithIdentity("exceptionTrigger", this._messageGroupName)
// .StartNow()
// .WithSimpleSchedule(x => x
// .WithIntervalInMinutes(0))
// .Build();
// tell the scheduler to remove the old trigger with the given key, and put the new one in its place
//_scheduler.RescheduleJob(key, exceptionTrigger);
//_scheduler.DeleteJob(jobKey);
//_scheduler.UnscheduleJob(triggerKey);
//_scheduler.Shutdown();
//_scheduler.Interrupt(jobKey);
//ServiceController serviceController = new ServiceController("MessagingService");
//serviceController.Stop();
//serviceController.Pause();
}