none
SPTimerJob Syntax - Beispiel RRS feed

  • Frage

  • Hallo,

    ich habe mir in C# nach einer Anleitung einen SPTimerJob erstellt, in dem Listen archiviert werden.
    Da diese Anleitung aber nicht das Szenario abbildet das ich benötige, wollte ich fragen ob mir jemand ein Beispiel oder vielleicht Code den er/sie selbst verwendet hat zukommen lassen könnte.
    Ich kenne zwar das Objektmodell von SharePoint habe aber dennoch Probleme, da ich mich in C# nicht so gut auskenne.

    Soviel ich weiß muss ja nur die Execute Methode überschrieben werden, ich für meinen Fall möchte jedoch Listen auslesen, deren Werte überprüfen und diese verändern und Updaten.
    Wenn mir dafür jemand ein Beispiel zeigen könnte oder nützliche Links wäre ich sehr dankbar.

    MFG
    YTMFB

    Mittwoch, 16. September 2015 10:03

Antworten

  • Hi,
    schau Dir mal Creating Timer Jobs in SharePoint 2010 an. Da steht zu allen Deinen Fragen eine Antwort.

    Den Algorithmus zum Durchlaufen der Liste kannst Du erst einmal mit einer Konsolenanwendung mit dem Client Objekt Model testen. Wenn Du diesen Teil in einer separaten Klassen kapselst, kannst Du ihn dann aus der Execute-Methode aufrufen. Die Execute-Methode wird aufgerufen, wenn der Timer-Job arbeitet, d.h. entsprechend der Einstellung (z.B. täglich) oder manuell, z.B. für Testzwecke. Um den Timer-Job zu debuggen, muss das Visual Studio an den Prozess "OWSTIMER.EXE" gehängt werden. Wichtig dabei ist, dass die dll des Timer-Jobs und die dll im Visual Studio identisch sind, d.h. nach der Installation der Farm Solution darf im Visual Studio absolut nichts geändert werden. Wenn geändert wurde, werden die Haltepunkte nicht erkannt, da es dann unterschiedliche Versionen sind.


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks

    Donnerstag, 17. September 2015 07:24

Alle Antworten

  • Hi,
    für welches SharePoint Version soll das sein? In welcher Programmiersprache? Nach welchem Kriterium sollen die Listen ermittelt werden (Site, Inhaltstyp, Listenname, Parametrierung)?

    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks

    Donnerstag, 17. September 2015 04:54
  • Hallo,

    es handelt sich um SharePoint Server 2010.
    Den timerJob habe ich in Visual Studio mit der Programmiersprache C# angelegt.(vorlage: Leeres SP Projekt)
    Ich möchte eine einzelne Liste, bestenfalls nach Name auswählen, und dann mit einer Schleife durch die Spalten/Felder laufen und Abfragen machen.

    Das Objektmodell kenne ich, wie bereits erwähnt. Nur mit der C# Syntax im Kontext mit den SP Elementen bin ich nicht so fit. Ich verstehe beispielsweise nicht wann die Execute Methode ausgeführt wird bzw. wie ich meinen Code testen kann, und das Programm bei Haltepunkten nicht stoppt.

    hier übrigens der link:

    https://msdn.microsoft.com/de-de/library/office/hh528518(v=office.14).aspx

    • Bearbeitet ytmfb Donnerstag, 17. September 2015 05:38
    Donnerstag, 17. September 2015 05:08
  • Hi,
    schau Dir mal Creating Timer Jobs in SharePoint 2010 an. Da steht zu allen Deinen Fragen eine Antwort.

    Den Algorithmus zum Durchlaufen der Liste kannst Du erst einmal mit einer Konsolenanwendung mit dem Client Objekt Model testen. Wenn Du diesen Teil in einer separaten Klassen kapselst, kannst Du ihn dann aus der Execute-Methode aufrufen. Die Execute-Methode wird aufgerufen, wenn der Timer-Job arbeitet, d.h. entsprechend der Einstellung (z.B. täglich) oder manuell, z.B. für Testzwecke. Um den Timer-Job zu debuggen, muss das Visual Studio an den Prozess "OWSTIMER.EXE" gehängt werden. Wichtig dabei ist, dass die dll des Timer-Jobs und die dll im Visual Studio identisch sind, d.h. nach der Installation der Farm Solution darf im Visual Studio absolut nichts geändert werden. Wenn geändert wurde, werden die Haltepunkte nicht erkannt, da es dann unterschiedliche Versionen sind.


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks

    Donnerstag, 17. September 2015 07:24