0

我的生产服务器中有一个 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();    
}

这些更改会更新还是会发生什么?

4

1 回答 1

3

如果它没有预编译,那么你可以在服务器上有一个不同的文件。

如果它是预编译的,则无法在服务器上更改它。要解决此问题,您可以使用编译符号来具有不同的 application_start 方法或具有定义要调用的方法的设置。

如果您使用的是 .Net 4,您可以有一个调试和发布 web.config 文件,您可以在其中设置某种条件并在应用程序启动时检查它。

于 2010-08-26T11:16:32.887 回答