У меня есть запланированное задание кварца.net, которое отлично работает на моей машине разработки, но после развертывания на удаленном сервере оно не запускается. Я считаю, что задание запланировано нормально, потому что, если я выполняю обратную передачу, мне сообщается, что задание уже существует (однако я обычно проверяю обратную передачу). Код электронной почты определенно работает, так как событие «button1_click» успешно отправляет электронные письма.
Я понимаю, что у меня полное или среднее доверие к удаляемому серверу. Мой хост говорит, что они не применяют ограничения, которые, как им известно, могут повлиять на это. Какие-нибудь другие вещи, которые мне нужно сделать, чтобы запустить его?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Quartz;
using Quartz.Impl;
using Quartz.Core;
using Aspose.Network.Mail;
using Aspose.Network;
using Aspose.Network.Mime;
using System.Text;
namespace QuartzTestASP
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler sched = schedFact.GetScheduler();
JobDetail jobDetail = new JobDetail("testJob2", null, typeof(testJob));
//Trigger trigger = TriggerUtils.MakeMinutelyTrigger(1, 3);
Trigger trigger = TriggerUtils.MakeSecondlyTrigger(10, 5);
trigger.StartTimeUtc = DateTime.UtcNow;
trigger.Name = "TriggertheTest";
sched.Start();
sched.ScheduleJob(jobDetail, trigger);
}
}
protected void Button1_Click1(object sender, EventArgs e)
{
myutil.sendEmail();
}
}
class testJob : IStatefulJob
{
public testJob() { }
public void Execute(JobExecutionContext context)
{
myutil.sendEmail();
}
}
public static class myutil
{
public static void sendEmail()
{
// tested code lives here and works fine when called from elsewhere
}
}
}