SharePoint Timer Job
首先介紹一下什么是定時器作業(yè),說的再多,也不如一張圖說的清楚
這兩張圖應(yīng)該把我想說的已經(jīng)表達清楚了,下一步介紹一下如何自定義Timer Job
第一步:創(chuàng)建一個類(CustomTimerJob.cs)
第二步:引用 using Microsoft.SharePoint.Administration;并繼承SPJobDefinition
第三步:構(gòu)造 三個函數(shù)
? ?? ???public CustomTimerJob()
? ?? ?? ?? ?: base()
? ?? ???{
? ?? ???}
? ?? ???public CustomTimerJob(string jobName, SPService service, SPServer server, SPJobLockType targetType)
? ?? ?? ?? ?: base(jobName, service, server, targetType)
? ?? ???{
? ?? ???}
? ?? ???public CustomTimerJob(string jobName, SPWebApplication webApplication)
? ?? ?? ?? ?: base(jobName, webApplication, null, SPJobLockType.ContentDatabase)
? ?? ???{
? ?? ?? ?? ?this.Title = "Custom Timer Job";??//在上面的圖處上可以看到這個名字
? ?? ???}
第四步:override Execute 處理自己的業(yè)務(wù)
? ???public override void Execute(Guid targetInstanceId)
? ?? ???{
? ?? ?? ?? ?SPWebApplication webApplication = this.Parent as SPWebApplication;
? ?? ?? ?? ?SPContentDatabase contentDb = webApplication.ContentDatabases[targetInstanceId];
? ?? ?? ?? ?// get a reference to the "Tasks" list in the RootWeb of the first site collection in the content database
? ?? ?? ?? ?SPList taskList = contentDb.Sites[0].RootWeb.Lists["Product"];
? ?? ?? ?? ?// create a new task, set the Title to the current day/time, and update the item
? ?? ?? ?? ?SPListItem newTask = taskList.Items.Add();
? ?? ?? ?? ?newTask["Title"] = DateTime.Now.ToString();
? ?? ?? ?? ?newTask.Update();
? ?? ???}
在上一篇 自定義 Features 里面,當(dāng)激活功能時,到管理中心可以看到自己的定義的 Timer Job
public override void FeatureActivated(SPFeatureReceiverProperties properties)
? ?? ???{
? ?? ?? ?? ?SPSite site = properties.Feature.Parent as SPSite;
? ?? ?? ?? ?if (site != null)
? ?? ?? ?? ?{
? ?? ?? ?? ?? ? foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
? ?? ?? ?? ?? ? {
? ?? ?? ?? ?? ?? ???if (job.Name == CUSTOM_TIMER_JOB)
? ?? ?? ?? ?? ?? ???{
? ?? ?? ?? ?? ?? ?? ?? ?job.Delete();
? ?? ?? ?? ?? ?? ???}
? ?? ?? ?? ?? ? }
? ?? ?? ?? ?}
? ?? ?? ?? ?//開始Job
? ?? ?? ?? ?CustomTimerJob customTimerJob = new CustomTimerJob(CUSTOM_TIMER_JOB, site.WebApplication);
? ?? ?? ?? ?SPMinuteSchedule schedule = new SPMinuteSchedule();
? ?? ?? ?? ?schedule.BeginSecond = 0;
? ?? ?? ?? ?schedule.EndSecond = 59;
? ?? ?? ?? ?schedule.Interval = 5;
? ?? ?? ?? ?customTimerJob.Schedule = schedule;
? ?? ?? ?? ?customTimerJob.Update();
? ?? ???}
之后部署,到網(wǎng)站網(wǎng)站集里停止再激活,之后去管理中心,就可以看到自己定義的Job了
更多精彩請關(guān)注
轉(zhuǎn)載于:https://www.cnblogs.com/Fengger/archive/2012/06/02/2532047.html
總結(jié)
以上是生活随笔為你收集整理的SharePoint Timer Job的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SetComputerName改网络中计
- 下一篇: 套接口和I/O通信