尝试创建新站点时如何识别SharePoint异常

时间:2012-01-13 08:46:11

标签: sharepoint exception-handling spsite

确定,

这看起来很愚蠢,但我想我会问,因为这里有很多专业知识,我可能会从答案中学到很多东西。

我有一个用于创建网站的服务中心面板。如果网站创建失败,我想删除该网站。如果异常是因为该URL已存在另一个站点,则除外。

我目前得到以下内容,可以轻松检查包含的文本,但希望采用更加可靠的方法。 (例如,寻找异常ID或其他类似的东西。)

  

http://server:80/sites/xxxxxxxx已存在另一个网站。删除   在尝试使用相同的网址创建新网站之前,此网站   选择一个新URL,或在您最初的路径上创建一个新的包含   指定。

2 个答案:

答案 0 :(得分:1)

为什么不在尝试创建网站之前先检查网站是否存在?

答案 1 :(得分:1)

正如TrovB30所说,在尝试创建之前检查它是否存在可能是最好的方法。

我假设您有对SPSiteCollection对象或SPWebApplication对象的引用?在那种情况下,我可能会遍历它,看看是否已经存在一个。这可能看起来很乏味,但可能比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;
    }