Отладка заданий таймера 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.
Наиболее распространенные причины:
- Вы делали отладочную сборку?
- Вы поместили файл.pdb в ту же папку, что и сборка? (Простой поиск должен объяснить, как, например, отладка заданий таймера)
- Также ознакомьтесь с советами по отладке пользовательских заданий таймера на MSDN.
- Выполните 3 R: перестроить и повторно развернуть сборку и сбросить службу таймера, прежде чем пытаться подключиться снова.