Timer job
Web Application scope
////const string JobName = "Archival Process Timer";
////string SiteURL = string.Empty;
////SPUserToken UserToken = null;
////SPWebApplication Owebapplication = null;
////public override void FeatureActivated(SPFeatureReceiverProperties properties)
////{
//// try
//// {
//// SPSecurity.RunWithElevatedPrivileges(delegate()
//// {
//// SPWebApplication parentWebApp = (SPWebApplication)properties.Feature.Parent;
//// SPSite site = properties.Feature.Parent as SPSite;
//// DeleteExistingJob(JobName, parentWebApp);
//// CreateJob(parentWebApp);
//// });
//// }
//// catch (Exception ex)
//// {
//// throw ex;
//// }
////}
//private bool CreateJob(SPWebApplication site)
//{
// bool jobCreated = false;
// try
// {
// Archival job = new Archival(JobName, site);
// SPDailySchedule schedule = new SPDailySchedule();
// schedule.BeginHour = 0;
// schedule.BeginMinute = 0;
// schedule.BeginSecond = 0;
// schedule.EndHour = 1;
// schedule.EndMinute = 55;
// schedule.EndSecond = 55;
// job.Schedule = schedule;
// job.Update();
// /*SPMinuteSchedule schedule = new SPMinuteSchedule();
// schedule.BeginSecond = 0;
// schedule.EndSecond = 59;
// schedule.Interval = 15;
// job.Schedule = schedule;
// job.Update();*/
// }
// catch (Exception)
// {
// return jobCreated;
// }
// return jobCreated;
//}
//public bool DeleteExistingJob(string jobName, SPWebApplication site)
//{
// bool jobDeleted = false;
// try
// {
// foreach (SPJobDefinition job in site.JobDefinitions)
// {
// if (job.Name == jobName)
// {
// job.Delete();
// jobDeleted = true;
// }
// }
// }
// catch (Exception)
// {
// return jobDeleted;
// }
// return jobDeleted;
//}
//public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
//{
// DeleteJob(properties.Feature.Parent as SPSite);
//}
//private static void DeleteJob(SPSite site)
//{
// foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
// if (job.Name == JobName)
// job.Delete();
//}
----------------------------------------------------------------------------------------------------------------------------------
Site collection scope
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
// make sure the job isn't already registered
foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
{
if (job.Name == Constants.Constants.JobName)
job.Delete();
}
// install the job
Archival listLoggerJob = new Archival(Constants.Constants.JobName, site.WebApplication);
//SPMinuteSchedule schedule = new SPMinuteSchedule();
SPHourlySchedule schedule = new SPHourlySchedule();
//SPDailySchedule Schedule = new SPDailySchedule();
//Schedule.
//schedule.BeginSecond = 0;
schedule.BeginMinute = 0;
schedule.EndMinute = 59;
//SPDailySchedule Schedule = new SPDailySchedule();
//Schedule.
//schedule. = 5;
listLoggerJob.Schedule = schedule;
listLoggerJob.Update();
}
// Uncomment the method below to handle the event raised before a feature is deactivated.
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
// delete the job
foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
{
if (job.Name == Constants.Constants.JobName)
job.Delete();
}
}
Web Application scope
////const string JobName = "Archival Process Timer";
////string SiteURL = string.Empty;
////SPUserToken UserToken = null;
////SPWebApplication Owebapplication = null;
////public override void FeatureActivated(SPFeatureReceiverProperties properties)
////{
//// try
//// {
//// SPSecurity.RunWithElevatedPrivileges(delegate()
//// {
//// SPWebApplication parentWebApp = (SPWebApplication)properties.Feature.Parent;
//// SPSite site = properties.Feature.Parent as SPSite;
//// DeleteExistingJob(JobName, parentWebApp);
//// CreateJob(parentWebApp);
//// });
//// }
//// catch (Exception ex)
//// {
//// throw ex;
//// }
////}
//private bool CreateJob(SPWebApplication site)
//{
// bool jobCreated = false;
// try
// {
// Archival job = new Archival(JobName, site);
// SPDailySchedule schedule = new SPDailySchedule();
// schedule.BeginHour = 0;
// schedule.BeginMinute = 0;
// schedule.BeginSecond = 0;
// schedule.EndHour = 1;
// schedule.EndMinute = 55;
// schedule.EndSecond = 55;
// job.Schedule = schedule;
// job.Update();
// /*SPMinuteSchedule schedule = new SPMinuteSchedule();
// schedule.BeginSecond = 0;
// schedule.EndSecond = 59;
// schedule.Interval = 15;
// job.Schedule = schedule;
// job.Update();*/
// }
// catch (Exception)
// {
// return jobCreated;
// }
// return jobCreated;
//}
//public bool DeleteExistingJob(string jobName, SPWebApplication site)
//{
// bool jobDeleted = false;
// try
// {
// foreach (SPJobDefinition job in site.JobDefinitions)
// {
// if (job.Name == jobName)
// {
// job.Delete();
// jobDeleted = true;
// }
// }
// }
// catch (Exception)
// {
// return jobDeleted;
// }
// return jobDeleted;
//}
//public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
//{
// DeleteJob(properties.Feature.Parent as SPSite);
//}
//private static void DeleteJob(SPSite site)
//{
// foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
// if (job.Name == JobName)
// job.Delete();
//}
----------------------------------------------------------------------------------------------------------------------------------
Site collection scope
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
// make sure the job isn't already registered
foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
{
if (job.Name == Constants.Constants.JobName)
job.Delete();
}
// install the job
Archival listLoggerJob = new Archival(Constants.Constants.JobName, site.WebApplication);
//SPMinuteSchedule schedule = new SPMinuteSchedule();
SPHourlySchedule schedule = new SPHourlySchedule();
//SPDailySchedule Schedule = new SPDailySchedule();
//Schedule.
//schedule.BeginSecond = 0;
schedule.BeginMinute = 0;
schedule.EndMinute = 59;
//SPDailySchedule Schedule = new SPDailySchedule();
//Schedule.
//schedule. = 5;
listLoggerJob.Schedule = schedule;
listLoggerJob.Update();
}
// Uncomment the method below to handle the event raised before a feature is deactivated.
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
// delete the job
foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
{
if (job.Name == Constants.Constants.JobName)
job.Delete();
}
}