using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
namespace TimeJobV1
{
//安装timer
class TimeJobInstaller : SPFeatureReceiver //定义功能接收器
{
const string txtTimeJobTest = "TimeJobTest"; //定义查找计时器作业标题常量
//定义功能接收器操作方法
public override void FeatureInstalled(SPFeatureReceiverProperties properties)
{ }
public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
{ }
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite; //获取网站集对象
//遍历该网站集所有计时器作业,查找正要添加的计时器作业是否存在,如果存在,将其删除
foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
{
if (job.Name == txtTimeJobTest)
{
job.Delete();
}
}
//添加计时器作业
TimeJobTest Timer = new TimeJobTest(txtTimeJobTest, site.WebApplication);
//设置定时器的执行计划部分
SPMinuteSchedule schedule = new SPMinuteSchedule();
schedule.BeginSecond = 0;
schedule.EndSecond = 59;
schedule.Interval = 2;
Timer.Schedule=schedule;
Timer.Update();
}
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
{
if (job.Name == txtTimeJobTest)
{
job.Delete();
}
}
}
}
}
//执行timer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Utilities;
namespace TimeJobV1
{
public class TimeJobTest:SPJobDefinition
{
public TimeJobTest():base(){}
public TimeJobTest(string _TimeName,SPWebApplication _wp):base(_TimeName,_wp,null,SPJobLockType.ContentDatabase)
{
this.Title = "TimeJobTest";
}
public override void Execute(Guid targetInstanceId)
{
//调用添加用户与组到主站的list中 执行添加类实力
TimeUserGroup timeUserGroup = new TimeUserGroup();
timeUserGroup.AddUserGroup();
}}}