我可以访问db和ftp到我的实时服务器。我想安排一项任务。我在Quartz.net(ASP.Net C#)做了一个时间表,它在本地服务器上工作正常,当我把它上传到服务器时,我没有把它放到外面。我在我的任务的顶部和底部添加了一个文件写入命令,这些文件正在写入目标。这是我写的代码
public partial class saaiTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TestClass t = new TestClass();
t.method("start");
ISchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = factory.GetScheduler();
IJobDetail job = JobBuilder.Create<TestClass>()
.WithIdentity("name", "group")
.Build();
ITrigger triggerCron = TriggerBuilder.Create()
.WithCronSchedule("0 0/1 * 1/1 * ? *")
.StartNow()
.Build();
scheduler.ScheduleJob(job, triggerCron);
scheduler.Start();
Thread.Sleep(TimeSpan.FromMinutes(10));
scheduler.Shutdown();
t.method("stop");
}
}
public class TestClass : IJob
{
public void Execute(IJobExecutionContext context)
{
this.method("job");
}
public void method(string filename)
{
StreamWriter file2 = new StreamWriter(HostingEnvironment.MapPath("~\\test\\" + filename + ".txt"), true);
file2.WriteLine("Write Time : " + DateTime.Now);
file2.Close();
}
}
我通过运行此页面启动了计划,我尝试将其添加到Global.asax
。如何在我的实时服务器中启动调度程序,是否可以从服务器停止调度,如果有,解决方案是什么?
答案 0 :(得分:2)
我希望此链接可以为您提供所需内容Simulate a Windows Service using ASP.NET to run scheduled jobs
Quartz使用Windows服务,使用Hangfire而不需要Windows服务。这个Hangfire, a must for adding background tasks in ASP.NET链接可以帮助您入门