Meilleur auteur de réponses
Problème d'actualisation EventReceiver

Question
-
Bonjour,
J'ai actuellement un soucis que je n'arrive pas à comprendre.
J'avait deux Event Receiver sur mon Sharepoint 2010: Un sur ItemAdded et un sur ItemUpdated pointant sur la même bibliothèque de documents. J'ai voulu regrouper les deux en créant un seul EventReceiver qui utilise les deux événements. J'ai copié mes deux procédures aux bon endroit dans mon ER.
J'ai ensuite désinstaller, puis supprimer ma solution ER du serveur Sharepoint via PowerShell.
J'ai refait un nouveau package que j'ai réinstallé sur mon serveur, j'active ensuite les Feature. Jusqu'ici, tout va bien sauf que lorsque je créer un fichier dans ma bibliothèque de documents il ne se passe rien.
En allant voir dans le gestionnaire d’événement du serveur, on se rend compte qu'il va chercher mon ancien ER, et qu'il ne va pas cherché mon nouveau. J'ai regardé dans mon assembly, le package, la feature, il n'y à plus aucune trace de mes anciens EventReceiver dans ma solution.
Auriez-vous une idée concernant ce problème ? Il y aurait-il un fichier cacher ou un truc du genre faisant référence à mon ancien EventReceiver ?
Merci d'avance
Kurnox
- Modifié Kurnox mercredi 29 mai 2013 15:05
Réponses
-
Bonjour
Histoire de démystifier un peu tout ça :
- Comment est branché votre EventReceiver ? : Si vous passez par du déclaratif (par du XML) pour associer votre ER à un type de liste, sachez que ces ER ne se brancheront que sur les nouvelles liste : les listes crées après le déploiement de votre ER. Donc dans votre cas, si les listes n'avaient pas été supprimée,s l'explication est là !
- Il existe un bug connu sur les ER déployé via une feature scopée "Site", et qui dans ce cas là branche votre ER sur toutes les listes de toute la collection ! donc vérifiez que vous déployez bien votre ER dans une feature scopée "Web"
Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel
- Marqué comme réponse Kurnox mardi 11 juin 2013 07:16
-
Rebonjour,
Je ne sais pas ce que j'ai touché, mais désormais les bons EventReceiver se lancent comme il faut... Les anciens se lancent eux aussi mais c'est moins grave. Je vais maintenant pouvoir me consacrer au débug de mes ER.
Merci pour tous vos avis et conseil
Kurnox
- Marqué comme réponse Gokan OzcifciMVP dimanche 2 juin 2013 17:55
Toutes les réponses
-
Bonjour à vous,
En effet, il y a peut être encore une trace de votre ancien ER.
Je vous conseil d'utiliser SharePoint manager 2010 disponible gratuitement sur la communautée CodePlex et de naviguer jusque votre bibliothéque afin de vérifier et faire le ménage dans vos ER.
Faites nous un retour dés que vous avez fait cette action.
Valentin
Mon blog sur SharePoint
Site du Groupe AFG
MCP | Microsoft Certified Professional - SharePoint 2010 Administrator & Developer Certified
-
Bonjour,
Merci de votre réponse. Malheureusement, je ne voit apparaître que les bon EventReceiver sur mes bibliothèques.
J'ai remarqué, en déployant ma solution, que le serveur utilise la même solution ID depuis le début. J'ai réussi à trouver cette ID sur mon package dans VS2010. Changer cette ID pourrait-il permettre de repartir sur quelque chose de propre ? Si oui, comment puis-je modifier cet ID ?
Merci d'avance
Kurnox
-
bonjour,
lors de l'a désintallation, vous avez désactiver vos features par un uninstallfeature, ensuite retract solution, et finalement remove?
Bref, essayer un IISRESET, un stsadm upgrade de votre solution.wsp , suivit d'un stsadm deploy solution.wsp, et re IISRESET afin de bien purger le cache
si vous changez vos GUIDs de solution ou de features, vous ne pourrez pas modifier vos ER sur la liste, il faudra supprimer la liste et la recréer
cdt
Max
Maxime Ouellet MCTS WSS Development
-
Rebonjour,
J'ai effectuer les modifications comme vous me l'avez conseillé mais rien n'y fait, je ne comprend pas ce qui ce passe, quand je déploie la solution en locale, tout fonctionne correctement. Je commence à croire que je vais carrément recréer une solution neuve bien qu'il y ai beaucoup de travail à re-faire.
Si vous avez d'autre conseils je suis preneur.
Merci d'avance
Kurnox
-
je dirais: bienvenue dans les méandres de SharePoint...
Si vous créez une nouvelle liste, vous passer dans le bon ER? Si oui, déplacer vos éléments de la liste "corrompue" dedans. Si non, vérifier tout de même que vos fichier sont pas en read-only dans le repertoire 14 -- template -- feature
Changer juste le GUIDs de la solution risque de mettre le boxon sur le serveur, on fonctionne encore beaucoup par SolutionName , héritage des versions précédentes...
Maxime Ouellet MCTS WSS Development
-
Rebonjour,
Je ne sais pas ce que j'ai touché, mais désormais les bons EventReceiver se lancent comme il faut... Les anciens se lancent eux aussi mais c'est moins grave. Je vais maintenant pouvoir me consacrer au débug de mes ER.
Merci pour tous vos avis et conseil
Kurnox
- Marqué comme réponse Gokan OzcifciMVP dimanche 2 juin 2013 17:55
-
Bonjour à vous,
très bonne nouvelle.Je vous conseil néanmoins de faire "le ménage" dans vos ER afin de ne pas avoir de soucis par la suite.
Bonne continuation à vous,
Valentin
Mon blog sur SharePoint
Site du Groupe AFG
MCP | Microsoft Certified Professional - SharePoint 2010 Administrator & Developer Certified
-
Bonjour
Histoire de démystifier un peu tout ça :
- Comment est branché votre EventReceiver ? : Si vous passez par du déclaratif (par du XML) pour associer votre ER à un type de liste, sachez que ces ER ne se brancheront que sur les nouvelles liste : les listes crées après le déploiement de votre ER. Donc dans votre cas, si les listes n'avaient pas été supprimée,s l'explication est là !
- Il existe un bug connu sur les ER déployé via une feature scopée "Site", et qui dans ce cas là branche votre ER sur toutes les listes de toute la collection ! donc vérifiez que vous déployez bien votre ER dans une feature scopée "Web"
Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel
- Marqué comme réponse Kurnox mardi 11 juin 2013 07:16
-
Bonjour,
En effet, mon EventReceiver est bien branché sur une liste spécifique via le Element.XML, j'utilise le champ ListURL.
Ma Feature elle est en Web. Je ne recréer pas le liste étant donnée que mon problème était sur mon environnement de développement. Mais j'ai tout refait proprement pour mettre ça en prod.
Merci pour votre explication.