Silverlight托管客户端模型,是SharePoint2010推出的三种客户端模型“.NET托管”、“ECMAScript”、“Sliverlight”的一种,自己对于Silverlight也不是很熟悉,这也是第一次尝试Sliverlight,不过,我们主要尝试的是客户端模型调用SharePoint,而非Silverlight的功能。

  首先,我们打开vs2010新建项目,选择silverlight – Silverlight application,选择.Net 3.5框架,输入我们的项目名称确定即可,弹出silverlight新建向导,这个我们不需要改什么设置,确定就可以了。然后,我们在Silverlight中添加对客户端模型支持的引用,位置在:TEMPLATE\LAYOUTS\ClientBin下的两个dll文件

  Microsoft.SharePoint.Client.Silverlight.dll

  Microsoft.SharePoint.Client.Silverlight.Runtime.dll

  添加完引用,我们就可以编写我们的Silverlight程序了,我的例子就是通过Silverlight的客户端模型读取一个列表中的项目,然后显示到Silverlight的web部件中,试过了SharePoint2010推出的3中客户端对象模型,觉得使用差不多,一样是读取web,然后读取列表,读取列表项然后显示出来,同时,也需要先通过Load预读一下数据,然后再ExecuteQueryAsync才进行数据请求。而且,Silverlight的执行方式,是异步的。

  相比SharePoint2007,新版本的2010对Silverlight的支持有了很大改善,我们将编译后的Silverlight程序,也就是debug里面的.xap文件上传到文档库中,然后添加Silverlight的Web部件,输入Silverlight文件的链接,就可以添加到SharePoint中了,如下图就是我的示例的展现效果。后面还有代码供大家参考,初次使用Silverlight,不足之处,欢迎大家指正。

  

  Web web;

  List list;

  ListItemCollection listC;

  private void button1_Click(object sender, RoutedEventArgs e)

  {

  ClientContext context = new ClientContext(ApplicationContext.Current.Url);

  web = context.Web;

  list = web.Lists.GetByTitle("MyFirstLists");

  CamlQuery query = new CamlQuery();

  query.ViewXml = "";

  listC = list.GetItems(query);

  context.Load(listC);

  context.ExecuteQueryAsync(new ClientRequestSucceededEventHandler(OnSuccessed),new     

  ClientRequestFailedEventHandler(OnFailed));

  }

  private void OnSuccessed(Object sender, ClientRequestSucceededEventArgs args)

  {

  this.Dispatcher.BeginInvoke(LoadData);

  }

  private void LoadData()

  {

  String str = "";

  foreach (ListItem item2 in listC)

  {

  str += item2["Title"].ToString() + "\r\n";

  }

  label1.Content = str;

  }

  private void OnFailed(Object sender, ClientRequestFailedEventArgs args)

  {

  this.Dispatcher.BeginInvoke(delegate(){MessageBox.Show("Failed");});

  }

  参考链接:

  使用 Silverlight 客户端对象模型访问 SharePoint 2010 数据

  http://msdn.microsoft.com/zh-cn/library/gg595639.aspx

  作者:霖雨

  出处:http://www.cnblogs.com/jianyus

  本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。

SharePoint 2010 -- Silverlight托管客户端模型简单示例的更多相关文章

  1. SharePoint 2010 -- .Net托管客户端模型简单示例

    .Net托管客户端模型,是SharePoint2010推出的三种客户端模型".NET托管"."ECMAScript"."Sliverlight&quo ...

  2. SharePoint2010 -- ECMAScript客户端模型简单示例

    ECMAScript客户端模型,是SharePoint2010推出的三种客户端模型".NET托管"."ECMAScript"."Sliverlight ...

  3. UDP通讯模型简单示例

    1. UDP通讯模型 2. 服务器端 ① 创建一个socket,用函数socket() ② 绑定IP地址.端口等信息到socket上,用函数bind() ③ 循环接收数据,用函数recvfrom() ...

  4. TCP通讯模型简单示例

    1. TCP通讯模型 2. 服务器端 ① 创建socket,用函数socket() ② 绑定IP地址.端口号等信息到socket上,用函数bind() ③ 设置允许的最大连接数,用函数listen() ...

  5. thrift服务端到客户端开发简单示例

    (1)首先我们在服务器端写个helloworld.thrift文件,如下所示: service HelloWorld{ string ping(1: string name), string getp ...

  6. WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)

    转:http://msdn.microsoft.com/zh-cn/library/gg318615.aspx 摘要:通过此系列文章(共四部分)了解如何在 Microsoft SharePoint F ...

  7. SharePoint 2010 Pop-Up Dialogs SharePoint 2010 弹出对话框

    SharePoint 2010 Pop-Up Dialogs SharePoint 2010 弹出对话框         SharePoint 2010 使得往你的站点加入对话框内容变得出乎意料的简单 ...

  8. sharepoint 2010自定义访问日志列表设置移动终端否和客户端访问系统等计算列的公式

    上个月本人开发和上线了一个在SharePoint 2010上基于HTML5的移动OA网站,后端服务采用自定义的基于AgilePoint工作流引擎的Sharepoint Web服务,前端主要采用Jque ...

  9. SharePoint 2010 网站备份还原简单介绍

    今天尝试了SharePoint2010网站的备份和还原,从网上搜一些文档看看,然后自己试试,感觉和2007的操作没什么太大的区别,跟大家分享下自己尝试的命令行方式和数据库的方式,2007自己常用的也是 ...

随机推荐

  1. 没有文件扩展“.js”的脚本引擎问题解决

    安装MinGW的时候提示没有文件扩展".js"的脚本引擎. 原因:系统安装Dreamwear.UltraEdit.EditPlus后修改了.js文件的默认打开方式.当想直接执行js ...

  2. Android设置item的行间距,以及去掉分割线方法

    1.设置item的行间距: 可以在xml布局文件中的listView下设置xml属性: android:divider="#00000000" android:dividerHei ...

  3. Eclipse编写ExtJS卡死问题 eclise js验证取消

    1. Eclipse编写ExtJS卡死问题 eclise js验证取消 近期项目用到了extjs,发现项目编译的时候特别的卡,浪费很多时间而且保存的时候还要编译,因此打算看下如何取消验证extjs.最 ...

  4. 如何将Ubuntu部署到U盘中,用U盘安装linux操作系统

    http://jingyan.baidu.com/article/d5c4b52be79960da560dc59f.html 用U盘装一个linux系统是非常简单的事情,不会就看看这篇文章吧,后期我会 ...

  5. 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理

     Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan ...

  6. 如何优雅地退出python程序

    如何优雅地退出python程序 一个单模的python程序,启动之后要能够优雅地关闭.即当用户按Ctrl+C或者kill pid的时候,程序都能从容关闭.实现起来非常简单. is_running = ...

  7. Retrofit 2.0 超能实践(一),okHttp完美支持Https传输

    http: //blog.csdn.net/sk719887916/article/details/51597816 Tamic首发 前阵子看到圈子里Retrofit 2.0,RxJava(Andro ...

  8. ECMAScript 6之Set和Map数据结构

    Set 基本用法 ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. var s = new Set(); [2, ...

  9. Android初级教程理论知识(第三章测试&数据存储&界面展现)

    首先介绍单元测试,我在javaweb部分有详细介绍单元测试框架的一篇文章. 可以先看在javaweb中的单元测试详解篇http://blog.csdn.net/qq_32059827/article/ ...

  10. java设计模式---三种工厂模式之间的区别

    简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式.其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性. 本文是本人对这三种模式学习后的一个小结以及对他 ...