Časovač prácu FeatureActivated A funkcia rozsah

Bol som prácu s niektoré kód, ktorý niekto odovzdáva mi prácu časovač.  Mu nemal poskytnuté skutočný funkcia aktivačný kód, tak som musel písať, samozrejme.  Využil som Andrew Connell slávny blog post na tému.

Som pomocou Visual Studio 2010 a nasadenie stále nedarí kvôli chybe "Chyba v nasadení krok"Pridať riešenie": Objekt odkaz nenastavili na inštanciu objektu."

Bol pričom jeho kód príliš doslovne.  Bola rozhľadu funkciu na úrovni webovej aplikácie, ako je uvedené:

image

V dôsledku, vlastnosti, ktoré sú odoslané do prijímača sú z webovej aplikácie, nie kolekciu lokalít.  V závere, kód vyzerá takto:

verejnosti prepísať neplatné FeatureActivated(SPFeatureReceiverProperties vlastnosti)
{

    // Nerobte takto web app Aktivácia funkcie, to vedie k zúfalstva úsmev
    // SPSite stránky = vlastnosti.Feature.Parent ako SPSite;

    SPWebApplication wa = vlastnosti.Feature.Parent ako SPWebApplication;

    Ak (WA == null) hádzať nové výnimky("webapp2 je null.");

    foreach (SPJobDefinition prácu v wa.JobDefinitions)
    {

        skúste
        {
            Ak (prácu.Meno == List_JOB_NAME)

                prácu.Odstrániť();
        }
        chytiť (E výnimka)
        {
            hádzať nové výnimky("značka 2");
        } // chytiť e výnimka
    }

    // Nainštalujte prácu

    WeatherForecastTimerJob weatherForecastTimerJob =
        nové WeatherForecastTimerJob(List_JOB_NAME, WA);

    SPMinuteSchedule rozvrh = nové SPMinuteSchedule();
    rozvrh.BeginSecond = 0;
    rozvrh.EndSecond = 59;
    rozvrh.Interval = 5;
    weatherForecastTimerJob.Schedule = rozvrh;
    weatherForecastTimerJob.Update();

}

Take-away kľúč je, že keď táto funkcia je určený pre webovú aplikáciu, SPFeatureReceiverProperties, že SharePoint prechádza na prijímači funkcia má web app rovnakých parametrov.  Ondreja starý blog na vstupe predpokladá, že je určený pre kolekciu lokalít.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

nechať odpoveď

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *