Kerja Pemasa FeatureActivated Dan Skop Ciri-ciri

Saya telah bekerja dengan beberapa kod yang seseorang menyerahkan kepada saya untuk kerja pemasa.  Dia tidak memberikan ciri kod pengaktifan sebenar jadi saya terpaksa menulis, sudah tentu.  Saya mengambil kesempatan daripada Andrew Connell posting blog yang terkenal tentang subjek.

Saya menggunakan Visual Studio 2010 dan penggunaan terus gagal dengan ralat "Ralat berlaku dalam langkah penggunaan 'Tambah solusi': Rujukan objek tidak disetkan kepada sebuah instance dari sebuah objek."

Saya telah mengambil kod Nya terlalu literal.  Saya adalah scoping ciri tersebut ke peringkat aplikasi web, seperti yang ditunjukkan:

image

Hasilnya, sifat-sifat yang dihantar ke penerima adalah dari aplikasi web, tidak koleksi tapak.  Pada akhir, Kod kelihatan seperti ini:

awam mengatasi FeatureActivated tidak sah(Sifat-sifat SPFeatureReceiverProperties)
{

    // Tidak melakukan perkara-perkara berikut dengan ciri-ciri skop aplikasi web, Ia membawa kepada putus asa Smile
    // Laman web SPSite = sifat-sifat. Feature.Parent sebagai SPSite;

    SPWebApplication wa = sifat-sifat. Feature.Parent sebagai SPWebApplication;

    jika (WA == ' void ') membuang pengecualian baru("webapp2 adalah tidak sah.");

    foreach (SPJobDefinition kerja di wa. JobDefinitions)
    {

        cuba
        {
            jika (kerja. Nama == List_JOB_NAME)

                kerja. Hapus();
        }
        menangkap (E pengecualian)
        {
            membuang pengecualian baru("penanda 2");
        } // menangkap e pengecualian
    }

    // kerja memasang

    WeatherForecastTimerJob weatherForecastTimerJob =
        WeatherForecastTimerJob baru(List_JOB_NAME, WA);

    Jadual SPMinuteSchedule = baru SPMinuteSchedule();
    Jadual. BeginSecond = 0;
    Jadual. EndSecond = 59;
    Jadual. Selang = 5;
    weatherForecastTimerJob.Schedule = Jadual;
    weatherForecastTimerJob.Update();

}

Kekunci runcit adalah bahawa apabila ciri-ciri skop aplikasi web, SPFeatureReceiverProperties yang SharePoint mengalir kepada penerima ciri anda mempunyai parameter aras aplikasi web.  Andrew's entry blog lama menganggap ia adalah skop lokasi pengumpulan.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Tinggalkan Jawapan

alamat e-mel anda tidak akan diterbitkan. Ruangan yang diperlukan ditanda *