Timeren Job FeatureActivated og funktion anvendelsesområde

Jeg har arbejdet med nogle kode, der nogen udleveres til mig til et timeren job.  Han ikke havde forudsat aktiveringskoden faktiske funktion, så jeg var nødt til at skrive det, Selvfølgelig.  Jeg benyttede Andrew Connells berømte blogindlæg om emnet.

Jeg bruger Visual Studio 2010 og implementering holdt ikke med en fejl "der opstod fejl i installationen trin 'Tilføj løsning': Objektreferencen er ikke indstillet til en forekomst af et objekt. "

Jeg tog hans kode for bogstaveligt.  Jeg scoping funktionen til webprogramniveau, som vist:

image

Som et resultat, de egenskaber, der sendes til modtageren er fra web application, ikke en gruppe af websteder.  I sidste ende, koden ligner denne:

offentlige tilsidesætte void FeatureActivated(SPFeatureReceiverProperties egenskaber)
{

    // Ikke gøre følgende med web-app virkefelt funktioner, Det fører til fortvivlelse Smil
    // SPSite websted = egenskaber.Feature.Parent som SPSite;

    SPWebApplication wa = egenskaber.Feature.Parent som SPWebApplication;

    Hvis (WA == null) Udløs nye undtagelse("webapp2 er null.");

    foreach (SPJobDefinition job i wa.JobDefinitions)
    {

        Prøv
        {
            Hvis (job.Navn == List_JOB_NAME)

                job.Slette();
        }
        fangst (Undtagelse e)
        {
            Udløs nye undtagelse("mærke 2");
        } // fange undtagelse e
    }

    // installere jobbet

    WeatherForecastTimerJob weatherForecastTimerJob =
        nye WeatherForecastTimerJob(List_JOB_NAME, WA);

    SPMinuteSchedule tidsplan = nye SPMinuteSchedule();
    planlægge.BeginSecond = 0;
    planlægge.EndSecond = 59;
    planlægge.Interval = 5;
    weatherForecastTimerJob.Schedule = tidsplan;
    weatherForecastTimerJob.Update();

}

Nøglen take-away er, at når funktionen udføres på Webserverniveau en web app, den SPFeatureReceiverProperties, der SharePoint overfører til din funktion modtager har web app niveau parametre.  Andrews gamle blogindlæg antager det udføres på Webserverniveau samlingen websted.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Efterlad et svar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *