Sharepoint 2010客户端对象模块获取站点URL列表
问题描述:
我正在尝试学习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);
答
SharePoint客户端对象模型CSOM旨在与您的SiteCollection进行远程交互。当然,可以连接到各种SiteCollections,但不可能查看SPWebApplications中的所有SiteCollections。
在2010年,您仍然可以使用早期版本的SharePoint中提供的ASMX WebServices。
为了更好地理解CSOM的,你应该看看MSDN网站http://msdn.microsoft.com/en-us/library/ee537247.aspx
你真的是一个包含所有SiteCollection的URL列表,或者是一个误会?
Thorsten