Ich erstelle meinen ersten Timer-Job und möchte ihn debuggen. Ich habe den Zeitgeberauftrag über eine Funktion installiert und der JobDefinitions-Auflistung einer Webanwendung hinzugefügt und einen SPMinuteSchedule hinzugefügt, der alle 5 Minuten ausgeführt wird (zu Testzwecken).
In Visual Studio habe ich dann versucht, den Debugger mit dem WebApplication-Prozess, dem Central-Admin-Prozess und dem OWSTIMER.exe-Prozess zu verbinden, aber er wird nicht in die Execute-Methode des TimerJobs debuggen. Was vermisse ich hier.
P.S. Der Status des Zeitgeberauftrags wird als erfolgreich angegeben, sodass er ausgeführt wird. Seltsam ...
Beim Debuggen von TimerJobs füge ich beim ersten Start der Execute-Methode eine Assertion ein, die immer fehlschlägt. Dies führt bei jedem Aufruf der Execute-Methode zu einem Popup, sodass Sie sicher sein können, dass der TimerJob gestartet wurde und genügend Zeit hat, den Debugger anzuhängen. Natürlich müssen Sie die Behauptung entfernen, bevor Sie live gehen.
%Vor%Eine weitere wichtige Sache ist, dass Sie den Zeitgeberdienst neu starten, nachdem Sie eine neue DLL bereitgestellt haben. Andernfalls wird der Timer-Dienst den TimerJob von der alten DLL ausführen.
Häufigste Gründe:
Tags und Links sharepoint wss timer-jobs