好的,
这看起来很愚蠢,但我想我会问的,因为这里有很多专业知识可以挖掘,我可能会从答案中学到很多。
我有一个用于创建网站的服务中心面板。如果网站创建失败,我想删除该网站。除非异常是因为该URL上已经存在另一个网站。
我目前得到了以下内容,可以很容易地检查包含的文本,但希望有一个更坚实的方法。(例如,寻找一个异常ID或类似的东西。)
另一个网站已存在于http://server:80/sites/xxxxxxxx.删去在尝试创建具有相同URL的新站点之前,选择一个新的URL,或者在最初的路径上创建一个新包含指定。
在尝试创建网站之前,为什么不先检查一下网站是否存在?
正如TrovB30所说,在尝试创建之前检查它是否存在可能是最好的方法。
我假设您引用了SPSiteCollection对象或SPWebApplication对象?在这种情况下,我可能会循环浏览它,看看是否已经存在一个。这可能看起来很乏味,但可能比尝试捕获过程更有效:
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;
}