在SharePoint2007中使用TimeJob.

编写TimeJob

写一个TimeJob 比较简单,只要继承SPJobDefinition 并且实现里边的 Execute方法.

部署TimeJob

TimeJob部署也比较简单,只需要把程序集放到GAC里就可以了。

安装TimeJob

安装TimeJob先要删除上次部署在Sharepoint里的TimeJob.删除TimeJob的主要方法是根据TimeJob的名称进行删除.

foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)

{

if (job.Name.Substring(0,Math.Min(prfName.Length,job.Name.Length)) == string.Format(TIMER_JOB_NAME,""))

{

        job.Delete();

}

}

 

安装新的TimeJob 安装TimeJob需有定制一个计划.也就是Job什么时候工作,计划的类型有以下几种:

SPOneTimeSchedule

SPMinuteSchedule

SPHourlySchedule

SPDailySchedule

SPMonthlySchedule

SPWeeklySchedule

SPYearlySchedule

 

每种计划使用方式不大一样.不过大同小异.基本一样.

如以下示例.

TimerJob timerJob = new TimerJob(string.Format(TIMER_JOB_NAME, i), site.WebApplication);

SPWeeklySchedule weekSchedule = new SPWeeklySchedule();

weekSchedule.BeginDayOfWeek = (DayOfWeek)i;

weekSchedule.EndDayOfWeek = (DayOfWeek)i;

weekSchedule.BeginHour = 8;

weekSchedule.EndHour = 8;

weekSchedule.BeginMinute = 1;

weekSchedule.EndMinute = 2;

weekSchedule.BeginSecond = 1;

weekSchedule.EndSecond = 20;

timerJob.Schedule = weekSchedule;

timerJob.Update();

 

这是个周计划的示例.意思是每周的第i天的8:01:01到8:02:20运行一次.

调试TimeJob

Debug TimeJob时需要重新启动Windows SharePoint Services Timer 服务。通过附加进程的方式调试。

总结

TimeJob编写及部署都很简单,安装一个TimeJob也不难主要是MOSS的计划任务有点不好理解。其次就是TimeJob在运行时没有一个界面只能通过记录日志的方式查看运行状态。当然可以通过查看管理中心查看上次运行时间。及是否运行完成。

原文地址:https://www.cnblogs.com/moonwebmast/p/1450920.html