FeatureActivated úlohy časovače a rozsah funkcí

Pracoval jsem s nějakou kódem, který někdo podal mi pro úlohy časovače.  Ani mu poskytl skutečné funkce aktivační kód, tak jsem musel napsat, Samozřejmě.  Využil jsem Andrew Connellová slavného blogu na toto téma.

Pomocí programu Visual Studio 2010 a nasazení stále nedaří s chybou "došlo k chybě v kroku nasazení 'Přidat řešení': Odkaz na objekt není nastaven na instanci objektu."

Byl příliš doslova bere jeho kód.  Byl oborů funkce na úrovni webové aplikace, Jak je uvedeno:

image

Jako výsledek, vlastnosti, které jsou odesílány do přijímače jsou z webové aplikace, není kolekce webů.  Na konci, kód vypadá takto:

Public override void FeatureActivated(SPFeatureReceiverProperties vlastnosti)
{

    // Nedělej následující webové aplikace rozsahem funkcí, To vede k zoufalství Usměj se
    // SPSite web = vlastnosti.Feature.Parent jako SPSite;

    SPWebApplication wa = vlastnosti.Feature.Parent jako SPWebApplication;

    Pokud (wa == null) Hoď nové výjimky("webapp2 je prázdný.");

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

        zkusit
        {
            Pokud (práce.Jméno == List_JOB_NAME)

                práce.Odstranit();
        }
        Catch (E výjimka)
        {
            Hoď nové výjimky("značka 2");
        } // zachytit výjimku e
    }

    // Nainstalujte práci

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

    SPMinuteSchedule plán = nové SPMinuteSchedule();
    plán.BeginSecond = 0;
    plán.EndSecond = 59;
    plán.Interval = 5;
    weatherForecastTimerJob.Schedule = plánovat;
    weatherForecastTimerJob.Update();

}

S sebou klíč je, že pokud funkce je obor na webové aplikace, SPFeatureReceiverProperties, že SharePoint předává do Receiveru funkce má webové aplikace úrovni parametry.  Staré blogu Ondřeje předpokládá, že se obor do kolekce webů.

</Konec>

Přihlásit se na mém blogu.

Za mnou na Twitter na http://www.twitter.com/pagalvin

Zanech odpověď

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *