Social Icons

miércoles, 3 de octubre de 2012

Refrescando el SharePoint 2010 Timer Service mediante código

Necesito refrescar el servicio de Timer desde una aplicación y me ha costado bastante encontrar cómo hacerlo. Es tan facil como te imaginas

Aquí está el código:
  1. /// <summary>  
  2. /// Stops the SharePoint timer.  
  3. /// </summary>  
  4. public static void TimerStop()  
  5. {  
  6.     ServiceController timerService = new ServiceController(Constants.SPTimerName);  
  7.   
  8.     if (timerService.Status == ServiceControllerStatus.Running)  
  9.     {  
  10.         timerService.Stop();  
  11.         timerService.WaitForStatus(ServiceControllerStatus.Stopped, Constants.WaitingTimeout);  
  12.     }  
  13. }  
  14.   
  15. /// <summary>  
  16. /// Starts the SharePoint timer.  
  17. /// </summary>  
  18. public static void TimerStart()  
  19. {  
  20.     ServiceController timerService = new ServiceController(Constants.SPTimerName);  
  21.   
  22.     if (timerService.Status == ServiceControllerStatus.Stopped)  
  23.     {  
  24.         timerService.Start();  
  25.         timerService.WaitForStatus(ServiceControllerStatus.Running, Constants.WaitingTimeout);  
  26.     }  
  27. }  
Por cierto, las constantes son:
  1. public static TimeSpan WaitingTimeout = new TimeSpan(0, 1, 30);  
  2. public static string SPTimerName = "SharePoint 2010 Timer";  

No hay comentarios: