SharePoint (2007/2010) : Echec de l'élévation de privilèges dans un EventReceiver.

Au rez-de-chaussée, c’est ‘.
Dans un EventHandler de ce type (ou d’un autre !) :
public override void ItemAdded(SPItemEventProperties properties){
   SPSecurity.RunWithElevatedPrivileges(delegate()   {
  // Actions nécessitant des privilèges.
});
Dans le code exécuté avec privilèges, il NE FAUT PAS utiliser directement les objets présentés par l’objet properties (.List, .Web, etc.). Il faut retrouver ces objets avec leur ID (.ListID, .SiteID, etc.). Sinon il y a de grandes chance d’avoir des valeurs ‘ ou des exceptions d’accès.
SPSite monSite = new SPSite("url.com");
SPList maListe = monSite.Lists[properties.ListID];
SPItem monItem = maListe.GetItemById(properties.ListItemId);
etc…
 

SharePoint : Exception lors de la mise à jour de la configuration d'une application web

Le dysfonctionnement d’un serveur frontal perturbe la propagation de la configuration SharePoint.
Symptôme
L’erreur suivante peut survenir lors de la mise à jour d’une application web via l’administration centrale (mappage, accès anonyme, extension de site, etc.) :
Un objet de type Microsoft.SharePoint.Administration.SPWebApplicationProvisioningJobDefinition appelé « Provisioning xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx » existe déjà sous le parent Microsoft.SharePoint.Administration.SPWebService appelé «  ». Renommez votre objet ou supprimez l'objet existant.
Explication
Ceci peut être du au fait qu’un serveur de la ferme (web frontal) n’est plus accessible par l’administration. Du coup, les jobs de propagation de configuration restent en échec.
Résolution

  •   Vérifier pourquoi l’un des serveurs n’est plus accessible, et régulariser la situation.
  •   Supprimer tous les jobs de type « Job provisionning » via l’administration centrale > Opérations > Définitions des travaux du minuteur > « Mise en service de l’application web… »
  •   … ou avec l’outil SharePoint Manager 2007, sous « <ROOT>/Services/Application Web de Windows SharePoint Services > Job Definitions ».

NB : Même topo pour les exceptions concernant SPWebApplicationUnProvisioningJobDefinition.