Отладка заданий таймера Sharepoint

Я создаю свою первую работу по таймеру и хочу ее отладить. Я установил задание таймера через функцию и добавил ее в коллекцию JobDefinitions веб-приложения, а также добавил SPMinuteSchedule для запуска каждые 5 минут (для целей тестирования).

Затем в Visual Studio я попытался подключить отладчик к процессу WebApplication, процессу Central Admin и процессу OWSTIMER.exe, но он не будет отлаживаться в методе выполнения TimerJob. Что мне здесь не хватает.

PS Статус задания таймера говорит: "Успешно", поэтому он запущен. Weird...

3 ответа

Решение

Когда я отлаживаю TimerJobs, я вставляю утверждение в самом первом начале метода Execute, что всегда будет неудачным. Это приводит к появлению всплывающего окна каждый раз, когда вызывается метод Execute, поэтому вы можете быть уверены, что TimerJob был запущен и у вас достаточно времени для подключения отладчика. Конечно, вы должны удалить Утверждение, прежде чем начать работу.

System.Diagnostics.Trace.Assert(false);

Еще одна важная вещь заключается в том, что вы перезапускаете службу таймера после развертывания новой библиотеки DLL. В противном случае служба таймера запустит TimerJob из старой библиотеки DLL.

Наиболее распространенные причины:

  1. Вы делали отладочную сборку?
  2. Вы поместили файл.pdb в ту же папку, что и сборка? (Простой поиск должен объяснить, как, например, отладка заданий таймера)
  3. Также ознакомьтесь с советами по отладке пользовательских заданий таймера на MSDN.
  4. Выполните 3 R: перестроить и повторно развернуть сборку и сбросить службу таймера, прежде чем пытаться подключиться снова.
Другие вопросы по тегам