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:
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
// 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>
Noudata minut viserrys http://www.twitter.com/pagalvin