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();
}}}