Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")]
- public class TimerJobFeatureEventReceiver : SPFeatureReceiver
- {
- public override void FeatureActivated(SPFeatureReceiverProperties properties)
- {
- SPWebApplication webApplication = properties.Feature.Parent as SPWebApplication;
- if (webApplication != null)
- {
- DeleteJobAndSettings(properties);
- try
- {
- CustomTimerJob job = new CustomTimerJob(webApplication);
- SPMinuteSchedule schedule = new SPMinuteSchedule();
- schedule.BeginSecond = 0;
- schedule.EndSecond = 59;
- schedule.Interval = 5;
- job.Schedule = schedule;
- job.Update();
- }
- catch (Exception ex)
- {
- CustomLoggingSvcBase.Current.LogException(CustomLoggingSvcBase.DiagnosticCategory.TimerJob, ex);
- throw new SPException(ex.Message, ex);
- }
- }
- else
- {
- string msg = "FeatureActivated - WebApplication is null";
- throw new SPException(msg);
- }
- }
- public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
- {
- DeleteJobAndSettings(properties);
- }
- #region Utils
- private void DeleteJobAndSettings(SPFeatureReceiverProperties properties)
- {
- SPWebApplication webApplication = properties.Feature.Parent as SPWebApplication;
- if (webApplication != null)
- {
- foreach (SPJobDefinition job in webApplication.JobDefinitions)
- {
- if (job.Name.Equals(CustomTimerJob.JobName))
- {
- job.Delete();
- break;
- }
- }
- }
- else
- {
- string msg = string.Format("{0}: DeleteJobAndSettings - WebApplication is null", this.GetType().Name);
- throw new SPException(msg);
- }
- }
- public static string GetFeatureGuid()
- {
- string ret = string.Empty;
- Type t = typeof(TimerJobFeatureEventReceiver);
- object[] attrs = t.GetCustomAttributes(typeof(GuidAttribute), false);
- if (attrs != null && attrs.Length == 1)
- {
- GuidAttribute attr = attrs[0] as GuidAttribute;
- if (attr != null)
- {
- ret = attr.Value;
- }
- }
- return ret;
- }
- #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement