0
我正在编写一个事件处理程序,它在ItemAdded上检查网站是否存在,然后使用给定的URL或使用备用网址创建网站。我已经写了类似的东西,但我试图清理我的代码,存在网站检查下面的方法。检查是否存在SharePoint网站
private string CheckSiteExists(SPWeb web, string siteURL, string webURL)
{
//Counter for our alternate URL
int i = 0;
//Open original URL
SPWeb tempweb = web.Site.OpenWeb(webURL + "/" + siteURL);
//Check if site exists
if (tempweb.Exists == false)
{
do
{
i++;
tempweb = web.Site.OpenWeb(webURL + "/" + siteURL + "_" + i);
}
while (tempweb.Exists == false);
//Dispose of our web
tempweb.Dispose();
}
else
{
tempweb.Dispose();
//If site does not exist, return original URL
return siteURL;
}
//If site does exist, return original url plus counter
return siteURL + "_" + i;
}
我决定测试我有什么发现,从W3WP 0%的CPU使用率去了50-80%,并在那里呆了,直到我手动杀了它。我在猜测我的do while语句不是按照我认为的那样行事,而只是循环到无限。
废话。我盯着这么久,没有注意到这一点。谢谢! – Mike 2011-12-22 16:30:14
如果您将它们与true或false进行比较,则说明您没有正确使用布尔值... – Nacht 2014-04-17 02:14:14