IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Sharepoint .NET Discussion :

Création de plusieurs sites, Dispose ?


Sujet :

Développement Sharepoint .NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    857
    Points
    884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 857
    Points : 884
    Par défaut Création de plusieurs sites, Dispose ?
    Bonjour,

    J'ai créé une feature qui à l'activation me lance la création de tous mes sites de mon intranet.

    J'ai l'impression qu'il existe un déphasage entre son avancé dans le programme et les sites réellement créés car il n'arrive pas à trouver un site qui pourtant doit être créé... Je m'explique.

    Mes sites à créer sont chargés dans une collection de classe contenant les noms de site à créer avec le nom de leur parent.
    Je parcours donc ma collection, et je créé les sites en les rattachant au root ou au parent si parent il y a. Hors lorsque je veux récupérer le SPWeb du parent il ne le trouve pas, le allwebs ne contient pas tous mes sites alors qu'ils sont bien créés.

    J'ai rajouté les Dispose, pensant que cela allait résoudre le problème, mais non...
    Quelqu'un aurait-il une autre idée ?


    Ci-dessous une portion du code.

    Création du site

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    List<MaCustomClass> sites = UtilesSite.getCollectionSite();
    foreach (MaCustomClass site in sites)
    {
    	SPWeb newWeb = null;
    	// Si Site parent autre que root
    	if (site.HasParent())
    	{
    		// Chargement du Web Parent
    		SPWeb parent = UtilesSite.getSPWebFromName(web.Site, site.NomPere);
    		newWeb = parent.Webs.Add(site.NomCourt, site.NomLong, "", (uint)1036, NameSiteTemplate, false, false);
    		parent.Dispose();
    	}
    	else
    	{
    		newWeb = web.Webs.Add(site.NomCourt, site.NomLong, "", (uint)1036, NameSiteTemplate, false, false);                        
    	}
    	newWeb.Dispose();
    }
    Méthode qui ne me retourne pas le site, et qui pourtant quand je la lance à posteriori me le retourne bien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public static SPWeb getSPWebFromName(SPSite site, string sName)
    {
    	foreach (SPWeb web in site.AllWebs)
    	{
    		if (web.Name == sName)
    			return web;
    	}
    	return null;
    }

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Points
    2 082
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Par défaut
    Bonjour,

    As-tu essayé d'utiliser la méthode spweb.update() après la création ?
    Il est également mieux de mettre la propriété AllowUnsafeUpdate à true avant de commencer la création de site puis de la remettre à sa valeur originelle après le update().

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    857
    Points
    884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 857
    Points : 884
    Par défaut
    Citation Envoyé par nonoxp Voir le message
    Bonjour,

    As-tu essayé d'utiliser la méthode spweb.update() après la création ?
    Il est également mieux de mettre la propriété AllowUnsafeUpdate à true avant de commencer la création de site puis de la remettre à sa valeur originelle après le update().
    Cela n'y change rien...
    Mais mon erreur doit venir d'ailleurs, elle se produit exactement au même endroit systématiquement...
    Je clôture le sujet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. création d'un site avec plusieurs langues
    Par DarkPoster14 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/07/2012, 20h32
  2. [IIS 7] Création de plusieurs sites sur le serveur web
    Par Chrigou dans le forum IIS
    Réponses: 0
    Dernier message: 30/03/2011, 21h44
  3. Réponses: 10
    Dernier message: 27/03/2011, 21h31
  4. Création de plusieurs sites Web avec une seule IP
    Par yoshï dans le forum Apache
    Réponses: 6
    Dernier message: 22/09/2010, 18h20
  5. création d'un site avec plusieurs langues
    Par ghyosmik dans le forum Langage
    Réponses: 2
    Dernier message: 22/05/2008, 05h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo