2010-01-07 85 views
2

这是我的代码,用于检查SharePoint网站是否存在。检查SharePoint网站是否存在

string URL = Console.ReadLine(); 
using (SPSite objSite = new SPSite(URL)) 
{ 
    using (SPWeb objWeb = objSite.OpenWeb()) 
    { 
     Console.WriteLine(string.Format("Site Exists: {0}", objWeb.Exists.ToString())); 
    } 
} 

但是,它似乎没有工作。即使网站/子网站不存在,“Exists”属性也会始终返回true。当URL是“http://intranet”或“http://intranet/sitedoesnotexists”时,我会得到相同的结果。

我用正确的方法吗?

感谢

编辑

很抱歉的格式,我确信我申请,但我想我忘了。

回答

5

尝试SPWeb.Exists财产 - http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.exists.aspx

编辑:另外,波普尔建议使用OpenWeb(..)方法,它有一个“布尔”参数的这个重载:http://msdn.microsoft.com/en-us/library/aa543519.aspx索要异常,如果没有这样的网站。 (看到它在这里解释:http://blog.mastykarz.nl/inconvenient-opening-spsite-openweb/

+0

我不能同意更多...其实我是那些建议使用OpenWeb的人之一(..)http://kitmenke.com/blog/2009/06/ 08/the-danger-in-using-spsiteopenweb/ – 2010-01-07 21:29:25

+0

谢谢,OpenWeb(...)参数运行良好。 – iJK 2010-01-08 14:37:46

+0

完美,有同样的问题。 – 2012-03-28 04:09:05