2011-11-28 224 views
4

我正在嘗試學習SharePoint客戶端對象模型,特別是如何獲取使用遠程連接的所有SharePoint站點URL的列表。這是可能的使用webservices ...但我想要使用客戶端對象模型來做到這一點。Sharepoint 2010客戶端對象模塊獲取站點URL列表

我已經想通了如何使用下面的代碼來獲取特定的SharePoint網站的標題列表:

client object module): 
    ClientContext ctx = new ClientContext(server); 
    ctx.AuthenticationMode = ClientAuthenticationMode.Default; 
    ctx.Credentials = WindowsAuthenticationCredentials(username, password); 

Web w = ctx.Web; 
var lists = ctx.LoadQuery(w.Lists); 
ctx.ExecuteQuery(); 

//Enumerate the results. 
foreach (List theList in lists) 
{ 

} 

輸出:

公告,大師系列頁面...等...

如何我可以做同樣的網站網址列表嗎?

在Web服務中,您可以調用以下來實現該目的,但正如我剛纔所說的,只是試圖弄清楚如何使用客戶端對象模塊執行相同的操作。如果你能提供非常值得讚賞的C#代碼。

WSPSitedata.SiteData sitedata = new SiteData(); 
sitedata.Url = @SharePointBaseURL + @"_vti_bin/sitedata.asmx"; 
sitedata.Credentials = our_credentials 
_sSiteMetadata metaData = new _sSiteMetadata(); 
_sWebWithTime[] webWithTime 
sitedata.GetSite(out metaData, out webWithTime, out users, out groups, out vgroups); 

回答

1

SharePoint客戶端對象模型CSOM旨在與您的SiteCollection進行遠程交互。當然,可以連接到各種SiteCollections,但不可能查看SPWebApplications中的所有SiteCollections。

在2010年,您仍然可以使用早期版本的SharePoint中提供的ASMX WebServices。

爲了更好地理解CSOM的,你應該看看MSDN網站http://msdn.microsoft.com/en-us/library/ee537247.aspx

你真的是一個包含所有SiteCollection的URL列表,或者是一個誤會?

Thorsten

相關問題