Таймер за работа FeatureActivated и функция обхват

Аз се занимавам с някои код, който някой ми връчи за задание на таймера.  Той не е предостави код за активация на действителната функция, така че аз трябваше да го напиша, Разбира се.  Аз се възползваха от Андрю Конъл известен блог пост по този въпрос.

Аз съм с Visual Studio 2010 и разполагане държат недостатък с грешка "Възникна грешка при разполагане на стъпка"Добави решение": Обект номер не настроен на една инстанция на обект."

Аз бях като си код твърде буквално.  Е обхвата функцията на ниво уеб приложение, както е показано:

image

Като резултат, свойствата, които са изпратени до приемника са от уеб приложението, не колекция от сайтове.  В края, код изглежда така:

обществото заместите невалидни 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

Оставете отговор

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани *