Debuggen von SharePoint-Timer-Jobs

8

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 ...

    
Colin 12.06.2009, 08:22
quelle

3 Antworten

9

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.

    
Flo 12.06.2009, 09:17
quelle
4
salgo60 14.06.2009 12:38
quelle
2

Häufigste Gründe:

  1. Haben Sie einen Debug-Build erstellt?
  2. Haben Sie die PDB-Datei im selben Ordner wie die Assembly abgelegt? (Eine einfache Suche sollte erklären, wie zB Debugging Timer Jobs )
  3. Lesen Sie auch Debuggen von benutzerdefinierten Timer-Jobs auf MSDN für einige Tipps.
  4. Führe die 3 Rs aus: Erstelle & amp; Re-deploy Assembly & amp; Setzen Sie den Timer-Dienst zurück, bevor Sie versuchen, erneut zu verbinden.
mundeep 12.06.2009 08:55
quelle

Tags und Links