ట్యాగ్ ఆర్కైవ్స్: టైమర్ ఉద్యోగం

టైమర్ Job FeatureActivated మరియు ఫీచర్ స్కోప్

నేను ఎవరైనా ఒక టైమర్ ఉద్యోగం కోసం నాకు అప్పగించారు కొన్ని కోడ్ తో పని చేసిన.  నేను వ్రాయడానికి వచ్చింది అతను వాస్తవ ఫీచర్ ఆక్టివేషన్ కోడ్ అందించిన కాలేదు, కోర్సు యొక్క.  నేను యొక్క ప్రయోజనం పట్టింది ఆండ్రూ కన్నేల్ యొక్క ప్రసిద్ధ బ్లాగ్ పోస్ట్ ఈ విషయం పై.

నేను విజువల్ స్టూడియో ఉపయోగించి వెబ్ 2010 and deployment kept failing with an error “Error occurred in deployment step ‘Add Solution’: ఆబ్జెక్ట్ సూచన ఒక వస్తువు యొక్క సందర్భానికి సెట్ కాదు. "

నేను చాలా వాచ్యంగా తన కోడ్ ఇస్తోంది.  నేను వెబ్ అప్లికేషన్ స్థాయి scoping అంశం, చూపిన విధంగా:

image

ఫలితంగా, రిసీవర్ పంపిన గుణాలతో వెబ్ అప్లికేషన్ నుండి, ఒక సైట్ సేకరణ.  చివరికి, కోడ్ ఈ అనిపిస్తోంది:

ప్రజా భర్తీ శూన్యమైన FeatureActivated(SPFeatureReceiverProperties లక్షణాలు)
{

    // వెబ్ అనువర్తనం మాత్రమే లక్షణాలు క్రింది చేయొద్దు, ఇది నిరాశ దారితీస్తుంది స్మైల్
    // SPSite వంటి SPSite సైట్ = properties.Feature.Parent;

    SPWebApplication వంటి SPWebApplication WA = properties.Feature.Parent;

    అయితే (wa == null) కొత్త అసాధారణ("webapp2 is null.");

    foreach (Wa.JobDefinitions లో SPJobDefinition ఉద్యోగం)
    {

        ప్రయత్నించండి
        {
            అయితే (job.Name == List_JOB_NAME)

                job.Delete();
        }
        పట్టుకొను (మినహాయింపు ఇ)
        {
            కొత్త అసాధారణ("marker 2");
        } // మినహాయింపు ఇ క్యాచ్
    }

    // ఉద్యోగం ఇన్స్టాల్

    WeatherForecastTimerJob weatherForecastTimerJob =
        కొత్త WeatherForecastTimerJob(List_JOB_NAME, WA);

    = కొత్త SPMinuteSchedule షెడ్యూల్ SPMinuteSchedule();
    schedule.BeginSecond = 0;
    schedule.EndSecond = 59;
    schedule.Interval = 5;
    = షెడ్యూల్ weatherForecastTimerJob.Schedule;
    weatherForecastTimerJob.Update();

}

తీసుకు కీలక అని ఫీచర్ ఒక వెబ్ అనువర్తనం మాత్రమే ఉన్నప్పుడు, SharePoint మీ ఫీచర్ రిసీవర్ కి వెళుతుంది ఆ SPFeatureReceiverProperties వెబ్ అనువర్తనం స్థాయి పారామీటర్ల ఉంది.  ఆండ్రూ యొక్క పాత బ్లాగ్ ఎంట్రీ అది సైట్ సేకరణ మాత్రమే ఉంది ఊహిస్తుంది.

</చివర>

నా బ్లాగ్ సబ్స్క్రయిబ్.

వద్ద ట్విట్టర్ లో నన్ను అనుసరించండి http://www.twitter.com/pagalvin