Note: For visitors of your site, this entry is only displayed for users with the preselected language German/Deutsch (de)
Per API einen Timerjob zu erstellen ist eine feine Sache! Dadurch kann man sich sich die unter SPS2003 notwendigen Scheduled Tasks sparen.
Beim Einsatz eines SPDailySchedule ist aber zu beachten, dass man nicht nur die Startzeit setzt, sondern auch die Endzeit. Der tatsächliche Ausführungszeitpunkt wird nämlich lt. Reflector wie folgt bestimmt:
public override DateTime NextOccurrence(DateTime dt) { DateTime dtRound = new DateTime(0x7d4, 1, 1, this.m_lBeginHour, this.m_lBeginMin, this.m_lBeginSec); dt = base.RoundToHour(dt, dtRound); if (this.IsFixed) { return dt; } dtRound = new DateTime(0x7d4, 1, 1, this.m_lEndHour, this.m_lEndMin, this.m_lEndSec); DateTime dtEnd = base.RoundToHour(dt, dtRound); return base.RandomizeOccurrence(dt, dtEnd); }
|
Man beachte, dass die NextOccurence aus einem Zufallswert zwischen Start- und Endeeigenschaft erstellt wird.
Deshalb immer BeginHour, BeginMinute, BeginSecond, EndHour, EndMinute und EndSecond setzen.
Das gleiche gilt auch bei:
SPMinuteSchedule
SPHourlySchedule
SPDailySchedule
SPMonthlySchedule
SPWeeklySchedule
SPYearlySchedule