Sharepoint 2010客户端对象模块获取站点URL列表

时间:2011-11-28 20:37:31

标签: sharepoint sharepoint-2010 sharepoint-clientobject

我正在尝试学习SharePoint客户端对象模型,特别是如何使用远程连接获取所有SharePoint网站URL的列表。这可以使用webservices ...但我想使用客户端对象模型。

我已经想过如何使用以下代码获取特定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 个答案:

答案 0 :(得分:1)

SharePoint客户端对象模型CSOM旨在与您的SiteCollection进行远程交互。当然,可以连接到各种SiteCollections,但是无法查看位于SPWebApplications中的所有SiteCollections。

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

为了更好地了解CSOM,您应该查看MSDN网站http://msdn.microsoft.com/en-us/library/ee537247.aspx

你真的是指一个包含所有SiteCollection网址的列表,还是一个误解?

和Thorsten