2010-01-07 87 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