确定,
这看起来很愚蠢,但我想我会问,因为这里有很多专业知识,我可能会从答案中学到很多东西。
我有一个用于创建网站的服务中心面板。如果网站创建失败,我想删除该网站。如果异常是因为该URL已存在另一个站点,则除外。
我目前得到以下内容,可以轻松检查包含的文本,但希望采用更加可靠的方法。 (例如,寻找异常ID或其他类似的东西。)
http://server:80/sites/xxxxxxxx已存在另一个网站。删除 在尝试使用相同的网址创建新网站之前,此网站 选择一个新URL,或在您最初的路径上创建一个新的包含 指定。
答案 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;
}