Radio sam s nekim kodom da je netko predao mi za timera posao. On nije pod uvjetom da je stvarni broj značajki za aktivaciju pa sam morao napisati, naravno. Sam iskoristio Andrew Connell poznati blog post na temu.
Im 'koristeći Visual Studio 2010 and deployment kept failing with an error “Error occurred in deployment step ‘Add Solution’: Objekta nije postavljena na instancu objekta. "
Ja sam uzimajući njegov kod previše doslovno. Bio sam scoping značajka na razini web aplikacija, kao što je prikazano:
Kao rezultat toga, svojstva koje se šalju na prijemnik su iz web aplikacije, ne zbirke web-mjesta. Na kraju, kod izgleda ovako:
javni nadjačavanje void FeatureActivated(SPFeatureReceiverProperties svojstva)
{// Nemojte učiniti sljedeće web app opfateno značajke, to dovodi do očaja
// SPSite stranica = properties.Feature.Parent kao SPSite;SPWebApplication wa = properties.Feature.Parent kao SPWebApplication;
ako (wa == null) baciti novo iznimku("Webapp2 je null.");
foreach (SPJobDefinition posao u wa.JobDefinitions)
{pokušati
{
ako (job.Name == List_JOB_NAME)job.Delete();
}
ulov (Iznimka e)
{
baciti novo iznimku("Marker 2");
} // uhvatiti iznimka e
}// instalirati posao
WeatherForecastTimerJob weatherForecastTimerJob =
Novi WeatherForecastTimerJob(List_JOB_NAME, wa);SPMinuteSchedule raspored = new SPMinuteSchedule();
schedule.BeginSecond = 0;
schedule.EndSecond = 59;
schedule.Interval = 5;
weatherForecastTimerJob.Schedule = raspored;
weatherForecastTimerJob.Update();}
Ključ uzeti-daleko je da kada je značajka opfateno na web app, su SPFeatureReceiverProperties da SharePoint prolazi na lice prijemnik ima web app na razini parametara. Andrije stari blog entry pretpostavlja da je opfateno u zbirci web-mjesta.
</kraj>
Slijedite me na Twitter-u http://www.twitter.com/pagalvin