2010-05-05 6 views
6

Ich denke, das Starten eines Zeitgeberauftrags aus dem Code erfordert Farmadministratoranmeldeinformationen. Ich muss jedoch einen Zeitgeberauftrag von einem Webpart starten, der auf jeder Site verwendet wird. Jetzt, wenn ich versuche, den Job zu starten, gibt es mir einen Zugriff verweigert Fehler offensichtlich, weil die App-Pool-Identität ist Farm-Administrator. Irgendwelche Ideen zur Lösung dieses Problems?Zeitgeberauftrag von einem SPWeb

Danke,

Antwort

6

Zeitgeberaufträge werden als Farmadministrator ausgeführt und sollen nicht direkt von einem Endbenutzer ausgelöst werden. Da einige Jobs ressourcenintensiv sein können, kann nur der Farmadministrator neue Jobs erstellen oder den Zeitplan für vorhandene Jobs ändern.

Eine Lösung besteht darin, die Infrastruktur SPWorkItem zu verwenden, um Benutzeraufgaben in eine Warteschlange zu stellen, die dann von einem benutzerdefinierten Zeitgeberauftrag verarbeitet werden, der von SPWorkItemJobDefinition abgeleitet wird. Ihr Webpart ruft SPSite.AddWorkItem auf, um das Arbeitselement hinzuzufügen. Wenn Ihr Zeitgeberauftrag ausgeführt wird, sucht er nach Arbeitselementen mit der übereinstimmenden GUID WorkItemType und ruft die ProcessWorkItem Überladung auf.

3

Sie haben Recht. Um einen Timer-Job zu starten, muss der App-Pool-Benutzer Farm-Administrator sein. Seit dem Starten eines Timer-Jobs müssen Sie ein SPJobDefinition Objekt mit einem SPSchedule aktualisieren. Die SPJobDefinition ist eine SPPersistedObject, die in der SharePoint-Konfigurationsdatenbank gespeichert wird. Nur Farmadministratoren können in diese Datenbank schreiben.

Ich sehe keinen Weg, um dieses Problem zu lösen.

Problemumgehung: Je nach Ihren Anforderungen könnten Sie einen Master-Job schreiben, der regelmäßig ausgeführt wird. Dieser Job kann eine SharePoint-Liste abfragen und einen anderen Job starten, der von einem solchen Listenelement definiert wird. Da der Master-Job unter dem Konto Farm-Administrator ausgeführt wird, kann der Job einen neuen Timer-Job starten.

Verwandte Themen