Mi scuso se sto spingendo per l'ovvio; Non ho ancora visto nessuno scavare su di esso ancora.
La limitazione di un processo timer personalizzato (ovvero la propria classe di lavoro timer che deriva da SPJobDefinition) viene eseguita controllando i parametri del costruttore.
I processi timer vengono generalmente eseguiti sul server in cui sono inoltrati (come indicato da vinny) assumendo che non venga specificato alcun server di destinazione durante la creazione del processo timer. I due costruttori sovraccaricati per il tipo SPJobDefinition, tuttavia, accettano uno SPServer e un SPJobLockType rispettivamente come terzo e quarto parametro. L'utilizzo corretto di questi due parametri ti consentirà di stabilire dove viene eseguito il tuo lavoro.
Specificando il server di destinazione come SPServer e SPJobLockType di "Job", è possibile vincolare l'istanza di lavoro timer creata per l'esecuzione sul server desiderato.
Per la documentazione su ciò che ho descritto, vedere MSDN: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spjobdefinition.spjobdefinition.aspx.
Non so nulla del codice che si sta eseguendo, ma i lavori del timer personalizzato vengono generalmente impostati durante l'attivazione della funzione. Ho la sensazione che il codice base potrebbe non essere il tuo (?); In tal caso, potresti voler cercare uno o più tipi/classi che derivano da SPFeatureReceiver. Nel metodo FeatureActivated di tali classi è possibile trovare il codice che esegue effettivamente l'istanza del lavoro del timer.
Ovviamente, è anche possibile esaminare la classe (o le classi) del timer personalizzato per vedere come vengono istanziate. A volte gli sviluppatori costruiscono l'istanziazione della classe nella classe stessa (per esempio con il metodo del metodo di fabbrica).Tra la classe di lavoro del timer e le implementazioni di SPFeatureReceiver, però, dovresti essere in procinto di trovare ciò che deve cambiare.
Mi auguro che aiuta!
fonte
2009-06-24 16:55:26
Grazie, è esattamente quello che stavo cercando. – James
+1 Nice info, non sapevo che fosse possibile. –