SharePoint 2010 Client Object Model-Client API

相信大家都知道SharePoint Server Object Model(SPFarm, SPSite等等),使用Server Object Model操作SharePoint数据,很方便, 但是有一个致命缺点-本地必须装SharePoint, 而 Client API没有这个限制(本地有没有都可以),下面给大家先讲一下Client API的原理,再说一下它的使用.

这里先说明一下:我们一般说的Client Object Model有三种实现方式: .net code(client api), JS(ECMAScript), Silverlight,今天我先给大家介绍一下 Client API


先看下面这个原理图:


1.

通过这个图,我们可以了解到,原来client api是通过调用部署在SharePoint Server上的Client.svc(SP安装目录C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\),这是个WCF Service, 这个WCF service里面的实现代码是用Server api实现的, 明白这个流程了吧


下面介绍一下如果才能从无到有的使用client API,很简单,你只需要两个DLL(Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.Runtime.dll 我会以附件的形式上传上去,大家都可以下载下来试试.)


有了这两个DLL后, 在VS里新建一个Console application, 引用这两个dll, 把下面的Code 粘过去就可以跑了


             string siteUrl = "yoururl";
            using (ClientContext cc = new ClientContext(siteUrl))
            {
                cc.Credentials = new NetworkCredential("username", "password", "domain");
                Web w = cc.Web;
                cc.Load(w, w=>w.Id, w=> w.title);
                cc.ExecuteQuery();
            }


有几点需要说明一下:

1.client API里面的类名和server api一一对应,Web->SPWeb, Site->SPSite.

2.Credentials, 你需要提供你登录这个SP站点的凭证

3.cc.Load(), 你可以选择只Load一个复杂对象的部分属性,这样可以提高client api的执行效率,但是需要注意,没有Load的属性不能察看

4.Load完需要加载的属性后,需要ExecuteQuery,才会真正把Request发送出去并返回结果(可以通过Fiddler察看Request,Reponse详细信息)


Have a try, 有问题请联系我




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值