1
我的计时器quartz.net工作正常,但是一旦部署到远程服务器,它就不会触发。我相信工作安排好,因为如果我回发,它告诉我工作已经存在(但我通常会检查回传)。电子邮件代码绝对有效,因为'button1_click'事件成功发送电子邮件。Quartz.Net调度程序在本地工作,但不在远程主机上
我知道我在移除服务器上拥有完全或中等信任度。我的主人说他们不会施加限制,他们知道哪些会影响它。我需要做的其他事情才能让它运行?
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
}
}
}
非常感谢。你是对的,范围是问题......! – Glinkot 2010-05-05 02:11:33
@MarkoLahma感谢但据我所知Quartz.NET是为了不使用Win服务。所以,如果我们应该使用Win服务,是否需要使用Quartz.net?应用程序方面是否有另一种解决方案如果是这样,你可以给MVC应用程序的例子吗? – 2015-11-08 12:46:45
@Christof你*可以*在ASP.NET应用程序中托管Quartz,但它有其缺陷,如上所述。你*应该*主办Quartz.NET最好在一个Windows服务,你也可以有管理前端使用ASP.NET MVC等不运行的工作,只是管理日程安排和工作。 – 2015-11-08 15:23:26