2011-11-28 84 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

相关问题