我的生产服务器上有一个asp.net网站,现在运行正常。现在我使用quartz.net进行计划任务,在我的开发系统中我测试了它。我想将它移动到生产服务器。
我的global.asax目前在生产服务器中:
void Application_Start(object sender, EventArgs e)
{
Application["Hits"] = 0;
Application["Sessions"] = 0;
Application["TerminatedSessions"] = 0;
ConfigureLogging();
}
我将把它改为
void Application_Start(object sender, EventArgs e)
{
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("mysSendMailJob", typeof(ScheduledMail));
// fire every day at 06:00
Trigger trigger = TriggerUtils.MakeDailyTrigger(06, 00);
SimpleTrigger trigger2 = new SimpleTrigger("myTrigger",
null,
DateTime.UtcNow,
null,
SimpleTrigger.RepeatIndefinitely,
TimeSpan.FromSeconds(60));
// start on the next even hour
trigger.StartTimeUtc = TriggerUtils.GetEvenHourDate(DateTime.UtcNow);
trigger.Name = "mySendMailTrigger";
// schedule the job for execution
sched.ScheduleJob(jobDetail, trigger2);
// Code that runs on application startup
Application["Hits"] = 0;
Application["Sessions"] = 0;
Application["TerminatedSessions"] = 0;
ConfigureLogging();
}
这些更改会更新还是会发生什么?
答案 0 :(得分:3)
如果没有预编译,那么您可以在服务器上拥有不同的文件。
如果是预编译的,则无法在服务器上更改它。 要解决此问题,您可以使用编译符号来使用不同的application_start方法,或者使用设置来定义要调用的方法。
如果您使用的是.Net 4,您可以调试并发布web.config文件,您可以在其中设置某种条件并在应用程序旋转时检查它。