Question

Ok,

Cela semble stupide, mais je me suis dit que je demanderais parce qu'il ya beaucoup d'expertise pour puiser dans ici et je vais probablement apprendre une bonne partie des réponses.

J'ai un panneau central de service pour la création de sites. Si la création du site échoue, je voudrais supprimer le site. Sauf si l'exception est parce qu'un autre site existe déjà à cette URL.

je reçois actuellement ce qui suit et pourrait facilement vérifier le texte contenu mais souhaite une approche plus solide. (Par exemple à la recherche d'un code d'exception ou quelque chose à cet effet.)

Un autre site existe déjà à http: // serveur: 80 / sites / xxxxxxxx . Effacer ce site avant de créer un nouveau site avec la même URL, choisir une nouvelle URL, ou de créer une nouvelle inclusion sur le chemin que vous avez initialement spécifié.

Était-ce utile?

La solution

Pourquoi vous vérifiez pas si le site existe avant d'essayer de le créer?

Autres conseils

Comme le dit TrovB30, vérifier si elle existe avant d'essayer de créer est probablement la meilleure façon de le faire.

Je suppose que vous avez une référence à un objet ou d'un objet SPSiteCollection SPWebApplication? Dans ce cas, je serais probablement en boucle à travers elle pour voir s'il existe déjà un. Cela peut sembler fastidieux, mais sera probablement plus efficace qu'une procédure try-catch:

private bool SiteExists(SPWebApplication webApp, string siteUrl)
    {            
        var sites = webApp.Sites;
        //Add slash to enable comparison
        siteUrl = "/" + siteUrl;
        foreach (SPSite site in sites)
        {
            if (site.ServerRelativeUrl.Equals(siteUrl) == true)
            {
                return true;
            }
        }
        return false;
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top