开发TimerJob定时器作业运行多次的问题

要解决这个问题,必须理解下面理论,那就很容易理解错误的地方了,其实这不是错,只是不符合自己的用法,

开发TimerJob关键在于SPJobDefinition,新建TimerJob类必须继承SPJobDefinition,而SPJobDefinition构造函数有两个参数:SPServer和SPJobLockType。

SPServer:将该TimerJob安装到指定的服务器上。若传NULL值,则会将TimerJob安装到SPFarm的所有服务器上。

SPJobLockType:枚举类型。

  1.  SPJobLockType.None 运行在所有有TimerJob的服务器上:若有n台,则执行n次
  2.  SPJobLockType.ContentDatabase 将为Web Application里的每个内容数据库执行一次:若当前应用程序有n个内容数据库,则执行n次
  3.  SPJobLockType.Job 不管此三七二十一,就执行1次

 

所以只需要改成SPJobLockType.job就可以解决

posted @ 2016-01-25 21:42  如今  阅读(455)  评论(0编辑  收藏  举报