2009-10-22 9 views
0

J'ai ce morceau de code ...déploiement de contenu et AllowUnsafeUpdates

using (SPSite sitecollection = new SPSite(siteUrl)) 
{ 
    using (SPWeb web = sitecollection.OpenWeb(webUrl)) 
    { 
     try 
     {       
      web.AllowUnsafeUpdates = true; 

      ContentDeploymentJob.AddQuickDeployObject(web, 
         Microsoft.SharePoint.Deployment.SPDeploymentObjectType.ListItem, 
         itemUrl);       
      web.Update(); 
     } 
     finally 
     { 
      web.AllowUnsafeUpdates = false; 
     } 
    } 
} 

qui devrait ajouter un élément au déploiement de contenu pour le Web spécifié. Cependant, j'obtiens cette erreur ...

Les mises à jour sont actuellement interdites sur les requêtes GET. Pour autoriser les mises à jour sur un GET, définissez la propriété 'AllowUnsafeUpdates' sur SPWeb.

pourtant j'ai défini AllUnsafeUpdates sur true. Est-ce moi, ai-je oublié quelque chose?

+0

Intéressant que vous utilisez le même code montré par MS dans http://blogs.msdn.com/uksharepoint/archive/2009/02/13/quick-tip-adding-documents-from-document-libraries-to -a-quick-deploy-job.aspx donc ça devrait marcher ... Dans quel contexte ce code fonctionne-t-il - partie web, page d'application, autre chose? –

+0

c'est le seul, exactement le même code. J'ai créé une page d'application, donc je suppose que le code est en cours d'exécution dans ce contexte, même si je n'ai rien défini spécifiquement. – Rob

Répondre

0

Avez-vous essayé d'exécuter web.update() avant d'exécuter contentDeploymentJob? Il me semble que vous définissez la propriété mais ne l'enregistrez pas.

+0

J'ai déplacé le fichier web.update sur la ligne située au-dessus du travail contentdeployment tout en recevant la même erreur. – Rob

Questions connexes