FeatureActivated treball de temporitzador i característica d'àmbit

He estat treballant amb algun codi que algú passava per a mi per a una feina del temporitzador.  No havia proporcionà el codi d'activació present tret així havia d'escriure-ho, per descomptat.  Jo aprofitava Entrada de blog famós de Andrew Connell sobre el tema.

Estic utilitzant Visual Studio 2010 i desplegament continuava fallant amb un error "Error ocorria al pas de desplegament"Afegeix solució": Referència objecte no definit com a una instància d'un objecte.»

Jo estava prenent el seu codi massa literal.  Jo estava àmbit el tret el nivell d'aplicació web, com es Mostra:

image

Com a resultat, les propietats que s'envien a l'auricular són de l'aplicació web, no una col·lecció de llocs.  Al final, el codi s'assembla a això:

públic invalidar FeatureActivated nul(Propietats SPFeatureReceiverProperties)
{

    // No facis el següent amb les característiques web app amb l'àmbit, Això condueix a la desesperació somriure
    // Lloc SPSite = propietats.Feature.Parent com SPSite;

    L'SPWebApplication wa = propietats.Feature.Parent com a el SPWebApplication;

    Si (WA = = null) llançar nova excepció("webapp2 és nul".);

    foreach (SPJobDefinition treball en wa.JobDefinitions)
    {

        Provi
        {
            Si (feina.Nom = = List_JOB_NAME)

                feina.Suprimir();
        }
        trampa (E d'excepció)
        {
            llançar nova excepció("marcador 2");
        } // agafar e d'excepció
    }

    // instal·lar la feina

    WeatherForecastTimerJob weatherForecastTimerJob =
        WeatherForecastTimerJob nou(List_JOB_NAME, WA);

    SPMinuteSchedule horari = nova SPMinuteSchedule();
    horari.BeginSecond = 0;
    horari.EndSecond = 59;
    horari.Interval = 5;
    weatherForecastTimerJob.Schedule = horari;
    weatherForecastTimerJob.Update();

}

La clau per emportar és que quan el tret d'àmbit d'un app de webs, el que passa al seu auricular tret per SharePoint SPFeatureReceiverProperties ha paràmetres nivell de web app.  Antiga entrada del bloc de Andrew assumeix que està ambientat a la col·lecció de llocs.

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin

Deixi una contestació

no es publicarà la seva adreça de correu electrònic. Els camps necessaris estan marcats *