SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




SPTimerJob - The Value does not fall within the expected Range

Unbeantwortet Dieser Beitrag hat 3 Antworten

Ohne Rang
282 Beiträge
MStel erstellt 23 März 2017 14:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe mal wieder einen SPTimerJob mit dem Scope Site in C# erstellt und wollte diesen auf meiner Website laufen lassen. Ich habe die Fehlermeldung "The Value does not fall within expected Range" erhalten. (timer läuft im GAC, die solution wird aber nur auf einer Site aktiviert. das ganze verwenden wir so bereits mit mehreren Timern und immer hat es funktioniert)
Als ich nach diesem Fehler recherchierte, stellte ich fest, dass dieser bei anderen Personen nur auftritt, wenn diese versuchen Listenwerte zu ändern, also habe ich sämtliche Funktionen im Code auskommentiert (da ich in diesen so etwas gemacht habe) und rufe nach erstellen des Jobs lediglich eine leere Methode auf. Trotzdem erscheint die Fehlermeldung, wenn ich bei Überprüfen der Zeitgeberaufträge in der Zentraladministration nachschaue. (Status ist auch fehlgeschlagen, weitere Infos dazu stehen aber weder dort, noch in den logs)

Ich habe sowohl den Timer, als auch die IIS & den Rechner mal neu gestartet, da ich gedacht habe, etwas hätte sich einfach noch nicht aktualisiert. Aber sogar nach Neuerstellen des Projektes mit anderen Name kommt exakt die gleiche Fehlermeldung (ohne dass ich überhaupt nur versuche etwas zu machen, außer den Job zu erstellen und diesen natürlich bei Feature deactivating wieder lösche).

Anschließend habe ich also mal die Lösungsansätze der Leute ausprobiert, die diesen Fehler auch hatten und habe in der Ressourcenverwaltung die maximal zu verwaltenden Listenelemente von 8 auf 20, 50, 1000 angehoben und es erneut probiert. - Immernoch der Fehler

Die Funktionalität des Timers habe ich natürlich vorher in einer Konsolenanwendung gebaut und getestet, da dies dort viel leichter zu realisieren ist als mit Timern. Daher kann ich eigentlich auch bestätigen, dass es nicht an der Ressourcenverwaltung liegt, denn in der Konsole werden viele Listenfelder verwaltet und dort klappt es einwandfrei.

Hat jemand den Fehler in dem Zusammenhang ebenfalls erhalten?

MFG
MStel

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 März 2017 15:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dein Bereitstellungsszenario habe ich nicht verstanden. Hast Du eine Farm Solution, die über die Zentraladministration bereitgestellt wird? Und ein SiteCollection-Feature, das den Timer bereitstellt bzw. entfernt?

Und dann die Frage, woher Du die Fehlermeldung "value does not..." hast? An derselben Stelle sollten sich noch mehr Informationen zum Fehler finden bzw. es sollte möglich sein, daß dort noch mehr protokolliert wird.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
282 Beiträge
MStel Als Antwort am 27 März 2017 08:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, die Lösung ist mit dem Scope Site in der GAC für alle Webanwendungen bereitgestellt und erscheint in den entsprechenden SiteCollectionFeatures als SPUserSolution, wird aber via Enable SPFeature nur auf einer einzigen Seite aktiviert.
Sobald diese aktiviert wird, wird der Timer erstellt, und erscheint in der Zentraladministration bei Überwachung -> Zeitgeberaufträge.
Dort habe ich im Verlauf nach meinem Job geschaut und als ich auf Fehlgeschlagen beim Status geklickt habe kam diese Meldung vonwegen value does not..

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 27 März 2017 09:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dir ist aber schon klar, daß das bei einer normal konfigurierten Farm nicht funktioniert? Ganz einfach, weil man aus einer normalen Websitesammlung keine Rechte hat, Timerjobs anzulegen. Ich würde ein WebApp-Feature daraus machen.

Aber zum eigentlichen Problem: baue mal um den Code in der Execute-Methode ein Try-Catch und lasse Dir die gesamte Exception in die Logs ausgeben.

Viele Grüße
Andi
af @ evocom de
Blog