我一直在與一些代碼,有人遞給我一個計時器作業的合作。 他沒有提供的實際功能啟用代碼,所以我不得不把它寫, 答案是肯定的。 利用 安德魯 Connell 著名博客張貼內容 關於這個問題.
我使用的 Visual Studio 2010 和部署不斷失敗並出現錯誤"錯誤部署步驟中發生 '添加解決方案': 物件引用不設置到物件的實例。
我正在他的代碼太誇張了。 我範圍向 web 應用程式級別的功能, 如圖所示:
作為一個結果, 將被發送到接收方的屬性是從 web 應用程式, 不是一個網站的集合。 在結束, 代碼看起來像這樣:
公眾覆蓋 void FeatureActivated(SPFeatureReceiverProperties 屬性)
{// 不要做以下 web 應用程式作用域功能, 它會導致絕望
// SPSite 網站 = 屬性。作為 SPSite Feature.Parent;SPWebApplication wa = 屬性。作為 SPWebApplication Feature.Parent;
如果 (佤族 = = null) 引發新的異常("webapp2 是空的"。);
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();}
外賣的關鍵是,當該功能只限于一個 web 應用程式, SharePoint 傳遞給您功能接收機的 SPFeatureReceiverProperties 具有 web 應用程式級參數。 安德魯的舊博客條目假定它的範圍限於網站集合.
</結束>
跟我在 Twitter 上 http://www.twitter.com/pagalvin