אני עובד עם מספר קוד מישהו הגיש לי עבור משימת שעון עצר. הוא לא סיפק את קוד ההפעלה של התכונה בפועל ולכן נאלצתי לכתוב אותו, בטח. לקחתי את היתרון הצבת בלוג המפורסם של אנדרו קונל בנושא.
אני משתמש Visual Studio 2010 פריסה המשיך נכשל עם שגיאה "שגיאה אירעה בשלב פריסה 'הוסף פתרון': הפניה לאובייקט לא הוגדרה למופע של אובייקט."
שאני מעביר את הקוד שלו מדי פשוטו כמשמעו. אני היה טווח את התכונה ברמת יישום האינטרנט, כפי שמוצג:
כתוצאה מכך, מאפייני הנשלחות המקלט הם מיישום אינטרנט, לא אוסף אתרים. בסופו של דבר, הקוד נראה כך:
עקיפה ציבורית void FeatureActivated(מאפייני SPFeatureReceiverProperties)
{// אין לבצע את הפעולות הבאות עם תכונות יישום מסופחים אינטרנט, הוא מוביל לייאוש
// אתר SPSite = מאפיינים.Feature.Parent כ SPSite;ווה SPWebApplication = מאפיינים.Feature.Parent כ SPWebApplication;
אם (ווה = = null) לזרוק חריגה חדש("webapp2 הוא null".);
foreach (עבודת SPJobDefinition ווה.JobDefinitions)
{נסה
{
אם (המשימה.שם = = List_JOB_NAME)המשימה.מחק();
}
לתפוס (E חריג)
{
לזרוק חריגה חדש("סמן-2");
} // לתפוס חריגה e
}// להתקין את המשימה
WeatherForecastTimerJob weatherForecastTimerJob =
חדש WeatherForecastTimerJob(List_JOB_NAME, ווה);לוח זמנים של SPMinuteSchedule = SPMinuteSchedule חדש();
לוח זמנים.BeginSecond = 0;
לוח זמנים.EndSecond = 59;
לוח זמנים.מרווח זמן = 5;
weatherForecastTimerJob.Schedule = לוח זמנים;
weatherForecastTimerJob.Update();}
המפתח משתלמים הוא שכאשר בטווח של התכונה יישום אינטרנט, SPFeatureReceiverProperties העובר SharePoint שלך למקבל תכונה יש פרמטרים ברמת יישום האינטרנט. בבלוג הישן של אנדרו מניחה שאותו בטווח של אוסף האתרים.
</קצה>
עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin