• 在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在运行时没有一个界面只能通过记录日志的方式查看运行状态。当然可以通过查看管理中心查看上次运行时间。及是否运行完成。

  • 相关阅读:
    Silverlight学习(五)图形标绘
    Silverlight学习(四) domainservice动态多条件查询
    MySQL之单表查询
    mysql外键的三种关系
    mysql之完整性约束
    接口类和抽象类的区别
    mysql中的sql_mode
    html5本地存储技术 localstorage
    mysql数值类型
    mysql
  • 原文地址:https://www.cnblogs.com/moonwebmast/p/1450920.html
Copyright © 2020-2023  润新知