Timern jobbet FeatureActivated och funktionen räckvidd

Jag har arbetat med vissa kod som någon överlämnas till mig för en timer jobbet.  Han hade inte tillhandahöll aktiveringskoden faktiska funktion så jag var tvungen att skriva det, Självklart.  Jag utnyttjade Andrew Connell berömda blogginlägg angående.

Jag använder Visual Studio 2010 och distribution höll inte med felmeddelandet "Fel uppstod i distributionen steg"Lägg till lösning": Object reference not set till en instans av ett objekt."

Jag alltför bokstavligt talat med sin kod.  Jag omfångsdefinition funktionen att programnivå web, som visas:

image

Som en följd, de egenskaper som skickas till mottagaren är från webbprogrammet, inte en webbplatssamling.  I slutet, koden ser ut så här:

offentliga åsidosätta void FeatureActivated(SPFeatureReceiverProperties egenskaper)
{

    // Gör inte följande med app scope webbfunktioner, Det leder till förtvivlan Leende
    // SPSite webbplats = egenskaper.Feature.Parent som SPSite;

    SPWebApplication wa = egenskaper.Feature.Parent som SPWebApplication;

    om (wa == null) kasta nytt undantag(-webapp2 är null.);

    foreach (SPJobDefinition jobb i wa.JobDefinitions)
    {

        försök
        {
            om (jobbet.Namn == List_JOB_NAME)

                jobbet.Ta bort();
        }
        fånga (Undantag e)
        {
            kasta nytt undantag("markör 2");
        } // fånga undantag e
    }

    // Installera jobbet

    WeatherForecastTimerJob weatherForecastTimerJob =
        nya WeatherForecastTimerJob(List_JOB_NAME, WA);

    Schema för SPMinuteSchedule = ny SPMinuteSchedule();
    schema.BeginSecond = 0;
    schema.EndSecond = 59;
    schema.Intervallet = 5;
    weatherForecastTimerJob.Schedule = schema;
    weatherForecastTimerJob.Update();

}

Nyckeln take-away är att när funktionen är begränsad till en web app, den SPFeatureReceiverProperties som SharePoint skickar till din funktionen mottagaren har web app nivå parametrar.  Andrews gamla blogginlägg förutsätter det är begränsad i webbplatssamlingen.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Lämna svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *