Timer Posao FeatureActivated i značajki Djelokrug

Radio sam s nekim kodom da je netko predao mi za timera posao.  On nije pod uvjetom da je stvarni broj značajki za aktivaciju pa sam morao napisati, naravno.  Sam iskoristio Andrew Connell poznati blog post na temu.

Im 'koristeći Visual Studio 2010 and deployment kept failing with an error “Error occurred in deployment step ‘Add Solution’: Objekta nije postavljena na instancu objekta. "

Ja sam uzimajući njegov kod previše doslovno.  Bio sam scoping značajka na razini web aplikacija, kao što je prikazano:

image

Kao rezultat toga, svojstva koje se šalju na prijemnik su iz web aplikacije, ne zbirke web-mjesta.  Na kraju, kod izgleda ovako:

javni nadjačavanje void FeatureActivated(SPFeatureReceiverProperties svojstva)
{

    // Nemojte učiniti sljedeće web app opfateno značajke, to dovodi do očaja Osmijeh
    // SPSite stranica = properties.Feature.Parent kao SPSite;

    SPWebApplication wa = properties.Feature.Parent kao SPWebApplication;

    ako (wa == null) baciti novo iznimku("Webapp2 je null.");

    foreach (SPJobDefinition posao u wa.JobDefinitions)
    {

        pokušati
        {
            ako (job.Name == List_JOB_NAME)

                job.Delete();
        }
        ulov (Iznimka e)
        {
            baciti novo iznimku("Marker 2");
        } // uhvatiti iznimka e
    }

    // instalirati posao

    WeatherForecastTimerJob weatherForecastTimerJob =
        Novi WeatherForecastTimerJob(List_JOB_NAME, wa);

    SPMinuteSchedule raspored = new SPMinuteSchedule();
    schedule.BeginSecond = 0;
    schedule.EndSecond = 59;
    schedule.Interval = 5;
    weatherForecastTimerJob.Schedule = raspored;
    weatherForecastTimerJob.Update();

}

Ključ uzeti-daleko je da kada je značajka opfateno na web app, su SPFeatureReceiverProperties da SharePoint prolazi na lice prijemnik ima web app na razini parametara.  Andrije stari blog entry pretpostavlja da je opfateno u zbirci web-mjesta.

</kraj>

Pretplatite se na moj blog.

Slijedite me na Twitter-u http://www.twitter.com/pagalvin

Dopust jedan Odgovor

Vaša email adresa neće biti objavljena. obavezna polja su označena *