2015-08-11 2 views
1

Я создаю собственное задание таймера, но получаю ошибку как Object reference not set to an instance of an object. ниже мой код .... может любой помощи по этому вопросу ... этот код для удаления элементов из спискаошибка При создании пользовательского задания таймера

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Microsoft.SharePoint; 
using Microsoft.SharePoint.Administration; 

namespace WebAnalyticsTimerjob 
{ 
    public class WebAnalyticsReport : SPJobDefinition 
    { 
     public const string JobName = "WebAnalyticsReport"; 
     public WebAnalyticsReport() 
      : base() 
     { 

     } 

     public WebAnalyticsReport(string jobName, SPService service, SPServer server, SPJobLockType lockType) 
      : base(jobName, service, server, lockType) 
     { 
      this.Title = "WebAnalyticsReport"; 
     } 
     public WebAnalyticsReport(string jobName, SPWebApplication webapp) 
      : base(jobName, webapp, null, SPJobLockType.ContentDatabase) 
     { 
      this.Title = "WebAnalyticsReport"; 
     } 
     public override void Execute(Guid targetInstanceId) 
     { 

      //SPSite mySite = this.Parent as SPSite; 
      SPWebApplication webApp = this.Parent as SPWebApplication; 
      SPList taskList = webApp.Sites[0].RootWeb.Lists["Tasks"]; 
      SPListItemCollection listItems = taskList.Lists.TryGetList("Web Analytics Report List").Items; 
      if (listItems != null) 
      { 
       for (int i = listItems.Count - 1; i >= 0; i--) 
       { 
        listItems[i].Delete(); 
       } 
      } 
     }  
} 
+0

Было бы полезно, чтобы сказать нам, где исключение ... – derape

ответ

0
  1. Вы пытались отладить это? (Перезапуск служба после развертывания, прикрепляется к owstimer предпосу ..)
  2. Я использую другой подход в получении требуемого сайта: public override void Execute(Guid contentDbId) { var webApplication = Parent as SPWebApplication; if (webApplication == null) return; using (var site = webApplication.ContentDatabases[contentDbId].Sites[0]) { var web = site.RootWeb; ... } }

 Смежные вопросы

  • Нет связанных вопросов^_^