فيتورياكتيفاتيد مهمة عداد الوقت ونطاق الميزة

لقد تم العمل مع بعض التعليمات البرمجية التي شخص سلم لي على عمل جهاز ضبط وقت.  لم يكن قدم التعليمة البرمجية تنشيط ميزة الفعلية لذلك كان على أن يكتب لها, طبعًا.  أنا استغل الشهير بلوق وظيفة أندرو Connell على هذا الموضوع.

أنا باستخدام Visual Studio 2010 وأبقى عدم النشر مع خطأ "حدث خطأ في توزيع الخطوة' إضافة الحل ': كائن مرجع لم يتم تعيين إلى مثيل لكائن. "

وقد أخذ رمز له أيضا حرفيا.  أنا كان مجال الميزة إلى مستوى تطبيق ويب, كما هو موضح:

image

وكنتيجة لذلك, الخصائص التي يتم إرسالها إلى جهاز الاستقبال من تطبيق ويب, لا مجموعة موقع.  وفي نهاية المطاف, تبدو هذه التعليمة البرمجية:

العام تجاوز فيتورياكتيفاتيد باطلة(خصائص سبفيتوريريسيفيربروبيرتيس)
{

    // عدم القيام بما يلي مع ميزات التطبيق تطبيق ويب, فإنه يؤدي إلى إلياس ابتسامة
    // موقع SPSite = خصائص.Feature.Parent ك SPSite;

    وا SPWebApplication = خصائص.Feature.Parent ك SPWebApplication;

    إذا كان (وا = = null) طرح استثناء جديد("webapp2 null".);

    foreach (الوظيفة سبجوبديفينيشن في وا.جوبديفينيشنز)
    {

        حاول
        {
            إذا كان (الوظيفة.اسم = = List_JOB_NAME)

                الوظيفة.حذف();
        }
        الصيد (الاستثناء ه)
        {
            طرح استثناء جديد("العلامة 2");
        } // المصيد الاستثناء ه
    }

    // تثبيت وظيفة

    وياثيرفوريكاستيميرجوب وياثيرفوريكاستيميرجوب =
        وياثيرفوريكاستيميرجوب الجديدة(List_JOB_NAME, وا);

    الجدول الزمني سبمينوتيشيدولي = سبمينوتيشيدولي الجديدة();
    الجدول الزمني.بيجينسيكوند = 0;
    الجدول الزمني.اندسيكوند = 59;
    الجدول الزمني.الفاصل الزمني = 5;
    weatherForecastTimerJob.Schedule = الجدولة;
    weatherForecastTimerJob.Update();

}

المفتاح بعيداً عندما تطبيق الميزة إلى تطبيق ويب, سبفيتوريريسيفيربروبيرتيس يقوم بتمرير SharePoint إلى جهاز الاستقبال الخاص بك ميزة لديها معلمات مستوى التطبيق ويب.  القديمة بلوق دخول أندرو يفترض أنها هي scoped إلى مجموعة الموقع.

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

اترك ردًا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها *