Тајмер за работа FeatureActivated и функција Опсег

Сум работел со некој код кој некој предадени на мене за еден тајмер работа.  Тој не го обезбеди вистински функција активациски код, па морав да го напишам, се разбира.  Јас ја искористи Познати Ендрју Connell блог пост на тема.

Јас користам Visual Studio 2010 and deployment kept failing with an error “Error occurred in deployment step ‘Add Solution’: Референца на објект не е поставена на пример на објект ".

Бев земајќи неговиот код е премногу буквално.  Бев опсегот на функција, за да на веб апликацијата ниво, како што е прикажано:

image

Како резултат на, својствата кои се испраќаат до примачот се од веб апликација, не еден сајт колекција.  На крајот, го кодот личи ова:

јавноста замени празнина FeatureActivated(SPFeatureReceiverProperties својства)
{

    // Не го направите следново со веб стан scoped карактеристики, тоа доведува до очај Насмевка
    // SPSite сајт = properties.Feature.Parent како SPSite;

    SPWebApplication wa = properties.Feature.Parent како SPWebApplication;

    ако (WA == NULL) фрли нова исклучок("webapp2 is null.");

    foreach (SPJobDefinition работа во wa.JobDefinitions)
    {

        обидете
        {
            ако (job.Name == List_JOB_NAME)

                job.Delete();
        }
        фати (Исклучок е)
        {
            фрли нова исклучок("marker 2");
        } // фати исклучок е
    }

    // инсталирате работа

    WeatherForecastTimerJob weatherForecastTimerJob =
        нови WeatherForecastTimerJob(List_JOB_NAME, WA);

    SPMinuteSchedule распоред = new SPMinuteSchedule();
    schedule.BeginSecond = 0;
    schedule.EndSecond = 59;
    schedule.Interval = 5;
    weatherForecastTimerJob.Schedule = распоред;
    weatherForecastTimerJob.Update();

}

Клучот готова е дека кога функцијата е scoped на веб стан, на SPFeatureReceiverProperties дека SharePoint поминува на вашата функција ресивер има веб стан ниво параметри.  Стариот блог на andrew влез претпоставува дека е scoped на сајт за собирање.

</крајот>

Да се ​​претплатите на мојот блог.

Следете ме на Twitter во http://www.twitter.com/pagalvin

Остави Одговори

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени *