Sharepoint学习笔记—习题系列--70-573习题解析 -(Q85-Q87)
Question 85
You create a Microsoft .NET Framework console application that uses a Representational State Transfer (REST) API to query a custom list named Products.
The application contains the following code segment.
AdventureWorksDataContext codc = new AdventureWorksDataContext(new Uri("http://contoso/_vti_bin/listdata.svc"));
codc.Credentials = CredentialCache.DefaultCredentials;
You need to read all items in Products into an object.
Which method should you use?
A. codc.Products.All;
B. codc.Products.AsQueryable;
C. codc.Products.ElementAt;
D. codc.Products.ToList;
解析:
本题的操作思想是在一个Console应用程序中引用一个Service。通常当你在VS2010中创建此引用时,VS2010会为你创建一个service.edmx文件,此文件就是一个描述EDM(Entity Data Mode)的文件。有了此文件,你的Console应用程序就直接与此EDM打交道而不用管实际的数据是从哪儿来的(数据可以来自于Sharepoint,Data Base甚至内存),它就像一个中介代替,接收你的数据请求,处理你的请求,然后返还给你想要的结果。需要注意的是,此Service 引用将创建的是“强类型”的数据DataContext,此DataContext直接映射的是你整个网站的结构(如果你的数据源是Sharepoint网站的话)。
本题就是把上述描述的功能通过AdventureWorksDataContext类来实现,对于DataContext类型的数据,我们可以像对待一个类实例一样去访问它或者也可以使用类似于LINQ的语法去读取其中的数据。
在各选项中
选项A: codc.Products.All :返回所有的Products,[它并不是把这些Products读取到某个object中去]
选项B: codc.Products.AsQueryable: AsQueryable将一个序列向下转换为一个IQueryable, 它生成了一个本地查询的IQueryable包装。
选项C:codc.Products.ElementAt:返回序列中指定的Product
选项D:ToList:把所有的元素读取到List对象.[符合本题read all items in Products into an object的要求]
所以本题目正确选项应该是D
参考:
http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/05/25/surfacing-business-data-in-a-web-part-that-you-create-by-using-sharepoint-tools-in-visual-studio.aspx
http://msdn.microsoft.com/en-us/library/vstudio/ee231515.aspx
http://extendtheenterprise.com/2010/11/03/using-sharepoint-2010-rest-apis-in-asp-net/
http://msdn.microsoft.com/en-us/library/bb342261.aspx
Question 86
You have a SharePoint Web application that has the URL http://intranet.
You are creating a Microsoft .NET Framework application that will display the title of the SharePoint Web application and will execute outside of the SharePoint server.
You create a textbox named textBoxTitle.
You write the following code segment. (Line numbers are included for reference only.)
01 ClientContext context = new ClientContext("http://intranet");
03 Web site = context.Web;
04 context.Load(site);
06 textBoxTitle.Text = site.Title;
You discover that line 04 generates an error.
You need to ensure that the .NET application displays the title of the SharePoint Web application in textBoxTitle.
What should you do?
A. Add the following line of code at line 02:
context.ExecuteQuery();
B. Add the following line of code at line 02:
context.ValidateOnClient = true;
C. Add the following line of code at line 05:
context.ExecuteQuery();
D. Add the following line of code at line 05:
context.ValidateOnClient = true;
解析:
这是一道关于Sharepoint客户端编程的题目,我们知道Sharepoint提供了三种客户端对象模型
1、ECMAScript(JavaScript、JScript) 客户端对象模型
2、.NET 托管客户端对象模型
3、Silverlight 客户端对象模型
本题是属于第2种,即.NET 托管客户端对象模型。
不管是哪种模型,我们都可以使用客户端对象模型来检索特定 SharePoint 客户端对象(ClientObject,或者 ECMAScript(JavaScript、JScript) 中的 ClientObject的属性,或检索子对象及其关联的属性或集合中的子项。对象模型使用显式数据检索语义,在检索正常工作的数据时,必须遵循这些语义。客户端对象模型不保留在客户端上本地检索的数据。
执行数据检索涉及以下过程:
1.使用 ClientContext() 构造函数 (JavaScript: ClientContext(serverRelativeUrl)返回客户端请求的上下文。
2.使用对象模型指定要检索的对象或要从中检索数据的对象。
3.通过就地加载或可查询加载来加载对象或集合,就地加载使用 Load<T>(T, []) (JavaScript: load(clientObject) 方法返回特定的对象、集合或数据;可查询加载使用 LoadQuery() (JavaScript: loadQuery(clientObjectCollection, exp)方法返回对象的可枚举集合。
4.通过在客户端对象模型的 .NET 托管版本中调用同步 ExecuteQuery() 方法执行查询,或者在 Silverlight 版本中,当代码从不修改用户界面 (UI) 的线程执行时,执行查询。在对象模型的 JavaScript 版本中,或者当 Silverlight 版本修改 UI 时,数据检索过程将使用异步回调模型,并且您必须调用 ExecuteQueryAsync(ClientRequestSucceededEventHandler, ClientRequestFailedEventHandler) 方法 (JavaScript: executeQueryAsync(succeededCallback, failedCallback)),该方法包括用于处理成功或失败请求的方法参数。当执行查询的方法调用返回(同步或异步)时,您可以访问从中启动查询的对象上的查询结果。
有了上面的了解,回过头来看本题就比较清楚了,分析本题的题干:
01 ClientContext context = new ClientContext("http://intranet"); //完成的是上面的第1步即:返回客户端请求的上下文
02
03 Web site = context.Web; //完成上面的第2步: 使用对象模型指定要检索的对象
04 context.Load(site); //完成上面的第3步:Load
05 //缺少第4步:通过在客户端对象模型的 .NET 托管版本中调用同步 ExecuteQuery() 方法执行查询,所以选项C应该是属于此行代码
06 textBoxTitle.Text = site.Title;
所以本题目正确选项应该是C
再来看其它选项:
选项A. Add the following line of code at line 02:
context.ExecuteQuery(); // ExecuteQuery方法执行早了,应该在Load之后执行
选项B.D 都是操作 ValidateOnClient属性,此属性继承自ClientRuntimeContext类,用以获取或设置客户端库是否需要验证方法的参数。显然与本题无关。
参考:
http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.client.clientruntimecontext.validateonclient.aspx
http://msdn.microsoft.com/en-us/library/ee536158.aspx
Question 87
You have a SharePoint site collection that has the URL http://contoso/sites/finance.
You are creating a Microsoft .NET Framework console application that will use the SharePoint client object model to create a site in the site collection.
The application contains the following code segment. (Line numbers are included for reference only.)
01 ClientContext cCtx = new ClientContext("http://contoso/sites/finance");
02 Web root = cCtx.Site.RootWeb;
03 cCtx.Load(root);
04 WebCreationInformation webInfo = new WebCreationInformation();
05 webInfo.Title = "site1";
06 webInfo.Url = "site1";
07 webInfo.WebTemplate = "MPS#2";
08 root.Webs.Add(webInfo);
10 cCtx.Dispose();
You need to ensure that the application creates the site.
Which code segment should you add at line 09?
A. cCtx.ExecuteQuery();
B. cCtx.Site.RootWeb.Update();
C. root.Context.Dispose();
D. root.Update();
解析:
本题仍旧是关于Sharepoint客户端编程问题,参见Question86的讲解,可以看出题干的代码想访问Sharepoint的http://contoso/sites/finance网站集,并向其中添加一个新的Web。从01到08代码完成的是获取ClientContext对象,Web对象,然后设置新Web的相关参数并添加到Site Collection对象中。前面所有的准备工作都完成后,就差最后的执行按钮” ExecuteQuery”了。所以选项A应该添加到第09行。
选项B. cCtx.Site.RootWeb.Update(); 是试图完成保存对RootWeb的更新。
选项C. root.Context.Dispose();试图销毁root.Context。
选项D. root.Update();也是试图完成保存对RootWeb的更新。
所以本题目正确选项应该是A
参考:
http://msdn.microsoft.com/en-us/library/ee535521.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.update.aspx
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q85-Q87)的更多相关文章
- Sharepoint学习笔记—ECM系列—文档列表的Metedata Navigation与Key Filter功能的实现
如果一个文档列表中存放了成百上千的文档,想要快速的找到你想要的还真不是件容易的事,Sharepoint提供了Metedata Navigation与Key Filter功能可以帮助我们快速的过滤和定位 ...
- Sharepoint学习笔记—ECM系列--文档集(Document Set)的实现
文档集是 SharePoint Server 2010 中的一项新功能,它使组织能够管理单个可交付文档或工作产品(可包含多个文档或文件).文档集是特殊类型的文件夹,它合并了唯一的文档集属性以及文件夹和 ...
- Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录
Sharepoint学习笔记—习题系列--70-576习题解析 为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是: 1. ...
- Sharepoint学习笔记—习题系列--70-573习题解析 --索引目录
Sharepoint学习笔记—习题系列--70-573习题解析 为便于查阅,这里整理并列出了我前面播客中的关于70-573习题解析系列的所有问题,有些内容可能会在以后更新, ...
- Deep Learning(深度学习)学习笔记整理系列之(五)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(八)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(七)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(六)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(四)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(三)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
随机推荐
- oracle 语句创建表空间、用户、授权
/*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace yuhang_temp tempfile 'D:\oracledata\yuhang_te ...
- 让我们一起Go(九)
前言: 又好久么更新了,无奈公司项目多,自己又接了私活,于是时间更不够了......不过我是不会让它流产的,坚持! 一.Go语言中的函数 终于轮到函数了,其实也没有什么好说的,无非就是一个语法问题,c ...
- Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据
Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据 PRM 全称为ParnassusData Recovery Manager ,由 诗檀软 ...
- SNF开发平台WinForm之二-开发-单表表单管理页面-SNF快速开发平台3.3-Spring.Net.Framework
2.1运行效果: 2.2开发实现: 2.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http: ...
- Unity3D内置着色器
Unity内部提供了一些可以直接使用的着色器,这些内置着色器包括以下6个方面: (1)Performance of Unity shaders 着色器的性能和两个方面有关:shader本身和rende ...
- java--实现将文字生成二维码图片,并在中间附上logo,下方附上文字
前段时间因为工作需要,要实现将一段文字或者url生成二维码,然后中间附上logo,下方正中间附上文字的功能. 上网找了几篇教程学习了下,由于没有保存借鉴的博文链接,所以就没po上参考文章的链接啦,感谢 ...
- 想从事分布式系统,计算,hadoop等方面,需要哪些基础,推荐哪些书籍?--转自知乎
作者:廖君链接:https://www.zhihu.com/question/19868791/answer/88873783来源:知乎 分布式系统(Distributed System)资料 < ...
- Linux shell tee指令学习
转载自:http://blog.163.com/xujian900308@126/blog/static/12690761520129911304568/ tee tee:读取标准输入的数据,并将 ...
- Web Service常识
1 问题的引出 位于服务器的程序需要在Web页面上显示一个订单列表,它需要访问业务对象服务器上的程序,通过它读取订单列表,业务对象服务器又要访问数据库服务器.当一台计算机上的程序调用另一台计算机上 ...
- Android学习笔记之dispatchTouchEvent和OnInterceptTouchEvent和OnTouchEvent三个方法之间的联系...
PS:好久没有写博客了,项目正式开始启动了,但是怎么也打不起精神来...可能还是不适应放假留校...这下一年只能回家一次了...伤感...写篇博客舒坦下... 学习内容: Android中disp ...