Аз се занимавам с някои код, който някой ми връчи за задание на таймера. Той не е предостави код за активация на действителната функция, така че аз трябваше да го напиша, Разбира се. Аз се възползваха от Андрю Конъл известен блог пост по този въпрос.
Аз съм с Visual Studio 2010 и разполагане държат недостатък с грешка "Възникна грешка при разполагане на стъпка"Добави решение": Обект номер не настроен на една инстанция на обект."
Аз бях като си код твърде буквално. Е обхвата функцията на ниво уеб приложение, както е показано:
Като резултат, свойствата, които са изпратени до приемника са от уеб приложението, не колекция от сайтове. В края, код изглежда така:
обществото заместите невалидни FeatureActivated(Свойства на SPFeatureReceiverProperties)
{// Не правете следното с web app scoped функции, Това води до отчаяние
// SPSite сайт = свойства.Feature.Parent като SPSite;SPWebApplication wa = свойства.Feature.Parent като SPWebApplication;
Ако (WA == null) хвърли ново изключение("webapp2 е нулев.");
foreach (SPJobDefinition работа в wa.JobDefinitions)
{Опитайте
{
Ако (работа.Името == List_JOB_NAME)работа.Изтриване();
}
улова (Изключение е)
{
хвърли ново изключение("маркер 2");
} // Хвани изключение e
}// инсталиране на проекта
WeatherForecastTimerJob weatherForecastTimerJob =
Нова WeatherForecastTimerJob(List_JOB_NAME, WA);SPMinuteSchedule график = нов SPMinuteSchedule();
график.BeginSecond = 0;
график.EndSecond = 59;
график.Интервал = 5;
weatherForecastTimerJob.Schedule = график;
weatherForecastTimerJob.Update();}
Основна по домовете е, че когато функцията е в обсега на уеб ап, SPFeatureReceiverProperties, че SharePoint преминава към вашия получател е уеб ап ниво параметри. Старите блог влизане на Андрю предполага, тя е с обхват колекция от сайтове.
</край>
Следвайте ме на Twitter в http://www.twitter.com/pagalvin