我正在尝试学习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);
答案 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