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:
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í
// 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>
Za mnou na Twitter na http://www.twitter.com/pagalvin