sharepoint中添加計時器作業時用到的倆個方法

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

 

}}}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章