Ajastin työn FeatureActivated ja ominaisuus soveltamisala

I olet työskennellyt joitakin koodin, että joku antoi minulle ajastin työn kanssa.  Hän ei ollut edellyttäen todellista ominaisuuden aktivoinnin koodi, joten oli kirjoittaa se, Tietysti.  Otin etuna Andrew Connell kuuluisa blogikirjoitus aiheesta.

Käytän Visual Studio 2010 ja käyttöönoton elatus heikkous virhe "virhe käyttöönoton vaiheessa lisää ratkaisu: Objektiviittaus objektin esiintymä ei ole määritetty."

I oli ottaen hänen koodi liian kirjaimellisesti.  Web-sovelluksen tasolla ominaisuus oli rajaus, kuten:

image

Tämän seurauksena, ominaisuudet, jotka lähetetään vastaanotin ovat web-sovelluksesta, ei sivustokokoelman.  Lopulta, koodi näyttää tältä:

menetelmä public override mitätön FeatureActivated(SPFeatureReceiverProperties ominaisuudet)
{

    // Ei tehdä seuraavaa web-app kohdedimensiolle ominaisuudet, se johtaa epätoivon Hymy
    // SPSite sivuston = ominaisuudet.Feature.Parent kuin SPSite;

    SPWebApplication wa = ominaisuudet.Feature.Parent kuin SPWebApplication;

    Jos (WA == null) heittää uusi poikkeus("webapp2 on null.");

    foreach (SPJobDefinition työn wa.JobDefinitions)
    {

        Yritä
        {
            Jos (työn.Nimi == List_JOB_NAME)

                työn.Poista();
        }
        saalis (Poikkeus e)
        {
            heittää uusi poikkeus("Huopakynä 2");
        } // saaliiden poikkeus e
    }

    // Asenna työ

    WeatherForecastTimerJob weatherForecastTimerJob =
        uusi WeatherForecastTimerJob(List_JOB_NAME, WA);

    SPMinuteSchedule aikataulun = uusi SPMinuteSchedule();
    aikataulun.BeginSecond = 0;
    aikataulun.EndSecond = 59;
    aikataulun.Interval = 5;
    weatherForecastTimerJob.Schedule = aikataulu;
    weatherForecastTimerJob.Update();

}

Take-away avain on, että kun ominaisuus vieraillun web-sovellus, SPFeatureReceiverProperties, joka SharePoint välittää ominaisuus-vastaanotin on web-sovelluksen tasolla parametrit.  Andrew: n vanha blogimerkinnän oletetaan sivustokokoelman vieraillun.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Jätä vastaus

Sähköpostiosoitettasi ei julkaista. pakolliset kentät on merkitty *