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)的更多相关文章

  1. Sharepoint学习笔记—ECM系列—文档列表的Metedata Navigation与Key Filter功能的实现

    如果一个文档列表中存放了成百上千的文档,想要快速的找到你想要的还真不是件容易的事,Sharepoint提供了Metedata Navigation与Key Filter功能可以帮助我们快速的过滤和定位 ...

  2. Sharepoint学习笔记—ECM系列--文档集(Document Set)的实现

    文档集是 SharePoint Server 2010 中的一项新功能,它使组织能够管理单个可交付文档或工作产品(可包含多个文档或文件).文档集是特殊类型的文件夹,它合并了唯一的文档集属性以及文件夹和 ...

  3. Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录

        Sharepoint学习笔记—习题系列--70-576习题解析  为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是:     1. ...

  4. Sharepoint学习笔记—习题系列--70-573习题解析 --索引目录

                  Sharepoint学习笔记—习题系列--70-573习题解析 为便于查阅,这里整理并列出了我前面播客中的关于70-573习题解析系列的所有问题,有些内容可能会在以后更新, ...

  5. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  6. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(六)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  10. Deep Learning(深度学习)学习笔记整理系列之(三)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

随机推荐

  1. div 等高

    padding-bottom: 5000px; margin-bottom: -5000px;

  2. Powerdesigner逆向工程从sql server数据库生成pdm (转载)

    第一步:打开"控制面板"中的"管理工具" 第二步:点击"管理工具"然后双击"数据源(odbc)" 第三步:打开之后,点击 ...

  3. Eclipse卸载插件

    Eclipse卸载插件 ### 本人Eclipse版本为:Eclipse Mars 1. 选择: Help -> Install New Software , 如下图:2. 点击 what is ...

  4. 二叉搜索树BinarySearchTree(C实现)

    头文件—————————————————————————————— #ifndef _BINARY_SEARCH_TREE_H_ #define _BINARY_SEARCH_TREE_H_ #inc ...

  5. Oracle实例和服务知识点

    shutdown是对实例而言  service是启动的,根本不代表instance就是启动的. 启动数据库基本可分为三个过程: 1,nomount(即只启动instance,而不加载数据库) 2,mo ...

  6. 菜鸟学Windows Phone 8开发(1)——创建第一个应用程序

    本系列文章来源MSDN的 面向完全新手的 Windows Phone 8 开发 主要是想通过翻译本系列文章来巩固下基础知识顺带学习下英语和练习下自己的毅力(因为打算每天翻译一篇,但是发现翻译这篇花费了 ...

  7. 移动端 ios 长按复制兼容方案

    移动端页面,需要复制一段文字码. 在ios中,长按文字区域,默认选中的范围,超出了我长按的文字区域, 把上面的图片和下面的另一个div的文字也给我包含进来了,并不是我想要的! 举个例子: 如下图: 1 ...

  8. Fast Image Cache – iOS 应用程序高性能图片缓存

    Fast Image Cache 是一种在 iOS 应用程序中高效.持续.超快速的存储和检索图像的解决方案.任何良好的 iOS 应用程序的用户体验都应该是快速,平滑滚动的,Fast Image Cac ...

  9. 解决安装office2013时提示已安装相同版本的office

    例如出现如上所示的图: ------------------------------------------------------------------ 在尝试使用官方的卸载清理工具无果后, 终极 ...

  10. 在做excel导出时如何将excel直接写在输出流中

    之前做excel导出时,我都是先将文件写在服务器上,然后再下载下来,后来发现原来可以直接将文件写在输出流里边. 下面是一个小demo: package com.huaqin.fcstrp.util; ...