2009-04-27 4 views
8

Ich schreibe einen Timer-Job zum ersten Mal. Ich folge den Beispielen, die durch Googeln als meine Referenz erhalten werden können.Umfang einer Timer-Job-Funktion

In vielen dieser Artikel stoße ich auf die Timer-Job-Funktionen, die auf der Ebene der Websitesammlung oder der Website aktiviert werden.

Ich denke, das ist seltsam, da es nur eine Instanz eines Timer-Jobs für eine bestimmte Web-Anwendung geben kann.

Sollen nicht alle Funktionen des Timer-Jobs auf eine Webanwendung beschränkt sein?

Fehle ich hier etwas?

Antwort

6

Es hängt ganz von Ihrem Szenario ab. Die Timer-Jobs, die ich bisher geschrieben habe, habe ich mit einer Web-Anwendung definiert (es geht nur darum, deine feature.xml zu modifizieren). Je nach dem, was Ihr Zeitgeberauftrag tut, kann es jedoch für den Benutzer sinnvoll sein, den Web- oder den Site-Bereich zu verwenden. Sie müssen nur Ihren Feature-Empfänger über das "Elternelement" informieren, das in den Benachrichtigungshandlern von Activated usw. übergeben wurde - es ist das SPWeb, SPSite oder SPWebApplication, auf dem das Feature aktiviert wurde - und Sie könnten sich beim Schreiben sparen eine Konfigurationsschnittstelle, mit der Benutzer festlegen können, mit welchen Webs ihr Zeitgeberjob arbeiten soll und welche nicht. Technisch stimmt das: Sie laufen immer auf der Web-Anwendungsebene. Da sie jedoch häufig mit Inhalten arbeiten, die web- oder website-bezogen sind, kann die Festlegung eines Bereichs sinnvoll sein, um den Umfang des Zeitgeberauftrags einzuschränken.

+0

Ich habe einen vorhandenen Timer-Auftrag auf der Farm-Ebene ... aber mit einem Umzug nach SharePoint 2013 kann ich es für die Web-Anwendung ändern. – PeterX