2010-02-17 4 views
0

J'ai créé un travail simple de minuteur personnalisé pour Sharepoint en utilisant le modèle que j'ai trouvé ici: http://saftsack.fs.uni-bayreuth.de/~dun3/archives/visual-studio-2005-project-template-for-sharepoint-2007-timer-jobs/142.htmlEst-ce un problème de mise en cache? Ou quoi?

J'ai largué et mis le timerJob avec succès. Ensuite, j'ai décidé d'ajouter quelques lignes de code pour voir si je peux tester mon code.

Je l'ai utilisé ces commandes pour désinstaller mon timerJob:

Stsadm.exe -o deactivatefeature -filename "\WeeklyDigestJob\feature.xml" -url http:/ 
/vmsrv28:8080/sites/MySite 
STSADM -o uninstallfeature -name "WeeklyDigestJob" -force 
STSADM -o retractsolution -name WeeklyDigestJob.wsp -immediate 
STSADM -o execadmsvcjobs 
STSADM -o deletesolution -name WeeklyDigestJob.wsp -override 

J'ai vérifié le dossier C: \ assembly Windows \, ​​mon DLL n'était pas là que je m'y attendais. Après cela, j'ai supprimé tous les binaires générés (DLL, le fichier WSP, etc.) à partir de mon dossier de projet Visual Studio 2008 et reconstruit la solution. Ensuite, j'ai utilisé le même fichier setup.bat pour installer mon timerJob et j'ai commencé à attendre.

Après une minute (le planning était de 2 minutes dans la version précédente, donc je vois la classe de l'installeur s'exécuter correctement pendant que je la changeais de 2 à 1 minute) et mon timerJob a été exécuté. Mes changements dans le code d'exécution n'ont montré aucun effet.

Mon code initial était:

SPListItem newTask = taskList.Items.Add(); 
string r = DateTime.Now.ToString(); 
newTask["Title"] = r; 
newTask.Update(); 

code Mise à jour:

SPListItem newTask = taskList.Items.Add(); 
string r = DateTime.Now.ToString() + "New DLL"; 
newTask["Title"] = r; 
newTask.Update(); 

Mais je n'ai pas une chaîne "Nouvelle DLL" dans le titre des articles nouvellement ajoutés.

Comment puis-je résoudre ce problème? Merci.

Répondre

4

Avez-vous essayé de redémarrer le service de minuteur dans services.msc? J'ai trouvé dans le passé, ce aime à s'accrocher sur le dll jusqu'à ce que vous redémarrez

En outre, il convient de vérifier si un plein IISReset ainsi va l'aider à ramasser la DLL

+0

Redémarrer le service du minuteur a fait le tour, Merci beaucoup. – frbry