FeatureActivated งานตัวจับเวลาและขอบเขตคุณลักษณะ

ผมทำงาน ด้วยรหัสบางอย่างที่คนตกฉันสำหรับงานจับเวลา  เขาไม่รู้ให้รหัสเปิดใช้งานคุณลักษณะที่แท้จริงจึงได้เขียน, แน่นอน  ฉันใช้ประโยชน์จาก โพสต์บล็อกที่มีชื่อเสียงของแอนดรู Connell ในเรื่อง.

ใช้ Visual Studio 2010 และจัดเก็บล้มเหลว ด้วยข้อผิดพลาด "ข้อผิดพลาดในขั้นตอนการปรับใช้ 'เพิ่มโซลูชั่น': การอ้างวัตถุอิงไม่ได้ตั้งค่าอินสแตนซ์ของวัตถุ"

ฉันถูกนำรหัสของเขาเกินไปอย่างแท้จริง  ฉันถูกกำหนดโครงร่างวิจัยคุณลักษณะระดับแอพลิเคชันเว็บ, ดังที่แสดง:

image

เป็นผล, คุณสมบัติที่ส่งไปยังผู้รับได้จากแอพลิเคชันเว็บ, ไม่มีไซต์คอลเลกชัน  ในสุด, รหัสมีลักษณะดังนี้:

สาธารณะแทนโมฆะ FeatureActivated(คุณสมบัติ SPFeatureReceiverProperties)
{

    // ไม่ มี web app ที่ครอบคลุมถึงคุณลักษณะต่อไปนี้, จะนำไปสู่ความสิ้นหวัง ยิ้ม
    // ไซต์ SPSite =คุณสมบัติFeature.Parent เป็น SPSite;

    SPWebApplication wa =คุณสมบัติFeature.Parent เป็น SPWebApplication;

    ถ้า (wa ==ค่า null) โยนข้อยกเว้นใหม่("webapp2 เป็น null");

    foreach (งาน SPJobDefinition ใน waJobDefinitions)
    {

        ลอง
        {
            ถ้า (งานชื่อ== List_JOB_NAME)

                งานลบ();
        }
        จับ (อีเว้น)
        {
            โยนข้อยกเว้นใหม่("เครื่องหมาย 2 ");
        } // จับอีเว้น
    }

    // ติดตั้งงาน

    WeatherForecastTimerJob weatherForecastTimerJob =
        WeatherForecastTimerJob ใหม่(List_JOB_NAME, wa);

    ตาราง SPMinuteSchedule = SPMinuteSchedule ใหม่();
    กำหนดการBeginSecond = 0;
    กำหนดการEndSecond = 59;
    กำหนดการช่วง = 5;
    weatherForecastTimerJob.Schedule =กำหนดการ;
    weatherForecastTimerJob.Update();

}

คีย์หน่อยคือเมื่อ app เว็บเซิร์ฟคุณลักษณะ, SPFeatureReceiverProperties ที่ SharePoint ผ่านการรับสัญญาณของคุณคุณลักษณะ web app ระดับพารามิเตอร์ได้  แอนดรูว์รายการบล็อกเก่าสันนิษฐานว่าเซิร์ฟไซต์คอลเลกชัน.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ทิ้งคำตอบไว้

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่. ช่องที่ต้องการถูกทำเครื่องหมาย *