SharePoint 2010 Client Object Model-Client API
2013-08-22 18:25
621 查看
相信大家都知道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, 有问题请联系我
这里先说明一下:我们一般说的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, 有问题请联系我
相关文章推荐
- [SharePoint 2010] Client Object Model 跨时区查询list item的方法
- 如何开启匿名访问SharePoint 2010里的Client Object Model
- SharePoint 2010新特性使用Client Object Model在客户端开发
- 使用Jscex增强SharePoint 2010 JavaScript Client Object Model (JSOM)
- SharePoint 2010 Client Object Model - JavaScript(ECMAScript)
- SharePoint 2010新特性使用Client Object Model在客户端开发
- [SharePoint 2010] Javascript Client Object Model 在SharePoint2010中的使用方法
- 使用 SharePoint 2010 Client Object Model 修改用户Email(邮箱) 地址
- [SharePoint 2010] Client Object Model 跨时区查询list item的方法
- SharePoint 2010 匿名用户调用Client Object Model访问列表项
- Sharepoint 2010 client object model
- [转]SharePoint 2010: Client Object Model for JavaScript (ECMAScript)(使用客户端对象模型)
- SharePoint 2010 - Client Object Model - ECMAScript
- 如何开启匿名访问SharePoint 2010里的Client Object Model
- 如何开启匿名访问SharePoint 2010里的Client Object Model
- Using the SharePoint 2010 Client Object Model_part_1
- Using the SharePoint 2010 Client Object Model_part_3
- Using the SharePoint 2010 Client Object Model_part_2
- SharePoint 2010 object model 读取类容类型Document Set
- sharepoint 2010 自定义列表数据的增删改查常用操作 server object model