.Net托管客户端模型,是SharePoint2010推出的三种客户端模型“.NET托管”、“ECMAScript”、“Sliverlight”的一种,相比Script的客户端对象模型,VS里使用的.Net客户端对象模型感觉使用起来,方便了很多,至少编写的时候会有提示,编译的时候会有错误提示,然后,我们可以把相应的两个dll文件,和编写的程序放到一起,放在客户端执行,感觉还是有收获的。
下面介绍下.Net托管的使用,首先新建一个控制台程序,选择.Net3.5框架,然后在引用中添加我们需要的客户端引用,位于/ISAPI下的Microsoft.SharePoint.Client.dll和Microsoft.SharePoint.Client.Runtime.dll,最后,在头部using中引用我们需要的头文件,就可以编写我们的.Net托管客户端对象模型代码了。
谈谈自己对这个客户端对象模型的理解,感觉.Net的对象模型还是和SharePoint很贴近的,不仅仅是编写起来相对ECMAScript方便,而且掌握起来更加容易一点,尤其方便我们编写一些小工具,进行列表操作,不用非要在服务器端运行,还是有提高到。
我的例子依然是一个读取SharePoint2010列表数据的示例,有使用不当的地方,欢迎大家指正。
static void Main(string[] args)
{
ClientContext context = new ClientContext("http://sharepoint2010:10086/");
Web web = context.Web;
List list = web.Lists.GetByTitle("MyFirstLists");
CamlQuery query = new CamlQuery();
query.ViewXml = @"<view><query></query></view>";
ListItemCollection listitem = list.GetItems(query);
context.Load(listitem);
context.Load(web);
context.Load(list);
context.ExecuteQuery();
String title = web.Title;
String listname = list.Title;
Console.WriteLine("网站名称:" + title);
Console.WriteLine("列表名称:"+listname);
Console.WriteLine("列表数据:");
foreach (ListItem list2 in listitem)
{
Console.WriteLine(list2["Title"].ToString());
}
}
和ECMAScript客户端对象模型一样,程序在Load时,并没有请求数据,而是在ExecuteQuery的时候才真正的发起请求。接下来,给大家列几个我参考的链接:
使用 .NET 客户端对象模型访问 SharePoint 2010 数据
http://msdn.microsoft.com/zh-cn/library/gg277498.aspx
SharePoint2010 .NET 客户端对象模型类库