Question 60
You have a SharePoint site collection that contains 100 subsites.
You plan to create a Web Part. The Web Part will be deployed to each subsite.
You need to ensure that the Web Part retrieves all of the files in the root directory of the current subsite.
You write the following code segment. (Line numbers are included for reference only.)
01 SPSite site = SPContext.Current.Site;
02 SPWeb web = SPContext.Current.Web;
03
Which code segment should you add at line 03?
A. site.AllWebs[1].Files
B. Site.RootWeb.Lists[0].Items;
C. web.Files;
D. web.RootFolder.SubFolders[0].Files ;
web.Users.Add(currentUser.LoginName, currentUser.Email, currentUser.Name, "");

解析:
 本题的目的是想要部署一个Webpart在诸多Subsites上,然后各自获取各个Subsite的根目录下的所有文件。
  问题的核心是本题的哪个选项代表了各个Subsite的要目录下的所有文件。
选项A. site.AllWebs[1].Files : 如果要获取某个SPSite对象中的某个指定的Web,貌似一般不能如此用,而应该是site.AllWebs["Site_Name"]; 而且即使本选项在表达上是正确的,在实现上也只是获取某个指定的Web的Root Directory下的所有文件。
选项B. Site.RootWeb.Lists[0].Items; 此选项也不太对,一般也是使用Site.RootWeb.Lists[“List_Name”]方法来获取某个List。况且本选项也只是获取某个List下的Items,而与Web下的Files无关。
选项C. web.Files; 正是本题的答案。返回的就是当前SPWeb对象的Root Directory中的所有的文件。
选项D. web.RootFolder.SubFolders[0].Files ; //想要返回的是Web中的RootFolder,即根文件夹下的指定子文件夹下的文件。
web.Users.Add(currentUser.LoginName, currentUser.Email, currentUser.Name, "");   //想要添加一个SPUser。 很显然,本选项不符合本题的要求。
所以本题目正确选项应该是C

参考:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.files.aspx
http://msdn.microsoft.com/en-us/library/ee547496(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/ms412253.aspx

Question 61
You have a SharePoint site that has the URL http://contoso.com/hr.
You are creating a new Web Part.
You need to create a reference to the current subsite without having to dispose of any returned objects.
Which code segment should you use?
A. SPSite siteCollection = new SPSite("http://www.contoso.com");
SPWebCollection site = siteCollection.AllWebs;
B. SPSite siteCollection = new SPSite("http://www.contoso.com");
SPWeb site = siteCollection.RootWeb;
C. SPSite site = SPContext.Current.Site;
D. SPWeb site = SPContext.Current.Web;

解析:
  本题的意图是要在一段WebPart的后台代码中引用当前Subsite对象进行相关操作,并无须担心释放此对象的相关资源。如果你看了Question 58,相信对解决本题就不会再有困难了。
  记住如下准则:永远不要去Dispose任何使用SPContext对象获取的资源。因为SPContext对象是由Sharepoint构架管理的,此对象什么时候回收由Sharepoint自身说了算,用不着你人为的干预,而且你的强行干预反而会引起系统的崩溃。由SPContext获取的资源有SPContext.Site, SPContext.Current.Site, SPContext.Web, and SPContext.Current.Web.等等。
  因为本题是针对的Subsite,所以引用的对象应该是SPContext.Current.Web,也即选项D符合本题的要求。
  选项A.B都是人为新创建了SPSite对象,所以此类对象就需要你Dispose它们的资源。
  选项C是引用的SPSite对象而不是SPWeb对象,所以不符合本题要求。
所以本题目正确选项应该是D

Question 62
You create a Feature named Feature1. Feature1 is activated in a SharePoint site.
You create a Web Part that contains the following code.
SPSite site = new SPSite("http://intranet/site1");
SPWeb web = site.OpenWeb();
SPFeatureDefinition feature = SPFarm.Local.FeatureDefinitions["Feature1"];
You need to modify the Web Part to activate Feature1 in Site1 only.
Which code segment should you add to the Web Part?
A. site.Features.Add(feature.Id);
B. site.WebApplication.WebService.Features.Add(feature.Id);
C. web.Features.Add(feature.Id);
D. web.Site.WebApplication.WebService.Features.Add(feature.Id);

解析:
 本题想做的事情是通过一个Webpart的后台代码实现仅在Site1(这里我理解Site1就是Site Collection)中激活Feature1。
先来看题干的代码做了些什么事情:
1.SPSite site = new SPSite("http://intranet/site1");
   创建了一个SPSite对象(一个Site Collection对象),此对象代表Site1,即获取Site1这个网站集(Site Collection)对象
2.SPWeb web = site.OpenWeb();
  请注意,此句使用的OpenWeb()没有任何参数,这种用法表示返回一个SPWeb,此SPWeb对象与上面SPSite的构建函数中使用的URL(即:http://intranet/site1)相关联。在本题也就是返回Site1的Root Web对象 (我们知道Sharepoint中每一个Site Collection都有一个Top Level的Web,这个Web就是此Site Collection的Root Web)。
3.SPFeatureDefinition feature = SPFarm.Local.FeatureDefinitions["Feature1"];
  获取一个SPFeatureDefinition对象,此对象包含SPFeature对象的一系列定义(如:Feature名,Feature的标识符,Feature的作用范围和Feature的版本)。本题此处就是获取一个当前Farm中的名为Feature1的这个Feature所对应的SPFeatureDefinition对象。
 
   我们在Question 58了解了SPFeatureCollection 对象,这个对象即是功能集合对象。我们可通过使用 SPWebService、SPWebApplication、SPSite 和 SPWeb 对象的 Features 属性来访问 SPFeatureCollection。如果功能出现在集合中,则该功能已在指定的范围内激活。我们可以使用SPFeatureCollection类的Add方法添加一个新的Feature到这个功能集合对象中。所以指定的Feature被Add方法添加到对应的SPFeatureCollection功能集合对象中时,也就意味着此Feature在功能集合对象所对应的范围内被激活了。
  知道了这点,我们就知道如何去寻找答案了:即找到Site1这个Site Collection级别的SPFeatureCollection 对象,然后把我们的Feature1添加到这个功能集合对象中,如上所述,
当Feature1出现在这个功能集合中时,则表明Feature1已在指定的范围内(即本题要求的Site1这个Site Collection级别内)激活了。
   所以来看看各选项:
选项A. site.Features.Add(feature.Id); 把Feature1添加到了Site1这个对象级别的SPFeatureCollection 对象中,所以正是本题的答案。
选项B. site.WebApplication.WebService.Features.Add(feature.Id);是在SPWebService级别上的SPFeatureCollection 对象中添加Feature1,所以不符合” activate Feature1 in Site1 only”的要求。
选项C. web.Features.Add(feature.Id); 是在SPWeb级别上的SPFeatureCollection 对象中添加Feature1,所以也不符合” activate Feature1 in Site1 only”的要求。
选项D. web.Site.WebApplication.WebService.Features.Add(feature.Id); 与选项B一样,也是在是在SPWebService级别上的SPFeatureCollection 对象中添加Feature1

所以本题目正确选项应该是A
参考:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.openweb.aspx
http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.administration.spfeaturedefinition.aspx
http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.spfeaturecollection.aspx

Sharepoint学习笔记—习题系列--70-573习题解析 -(Q60-Q62)的更多相关文章

  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. jQuery---EasyUI小案列

    jQuery EasyUI为提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等 ...

  2. HTML5[5]:在移动端禁用长按选中文本功能

    在手机浏览器中,长按可选中文本,但如果在应用中,会给人一种异样的感觉,最好还是禁用此功能为上. * { -webkit-touch-callout:none; -webkit-user-select: ...

  3. Maven进价:eclipse中集成maven

    一.M2Eclipse插件 m2eclipse是一个在Eclipse中集成Maven的插件,有了该插件,用户可以方便的在Eclipse中执行Maven命令.创建Maven项目.修改POM文件等. 下载 ...

  4. [OpenCV] IplImage and Functions

    In this chapter, APIs will make U crazy. Good luck! Next, Review Linear Algebra.  Ref: http://blog.c ...

  5. iOS-动画效果(首尾式动画,代码快动画,核心动画,序列帧动画)

    一.各个动画的优缺点 1.首尾动画:如果只是修改空间的属性,使用首尾动画比较方便,如果在动画结束后做后续处理,就不是那么方面了. 2.核心动画:有点在于对后续的处理方便. 3.块动画: (1)在实际的 ...

  6. Direct3D11学习:(八)Effects介绍

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 Effects框架是一组用于管理着色器程序和渲染状态的工具代码.例如,你可能会使用不同的effect绘制水.云. ...

  7. Sql Server来龙去脉系列之三 查询过程跟踪

    我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更 ...

  8. 可编译为 UNICODE 和 ANSI 版本的遍历目录树程序_0.1

    路径暂时是写死的 编译两个版本的程序: g++  treeT.cpp -municode -D_UNICODE -o treeT_UNIg++  treeT.cpp -o treeT_ASC 为了观察 ...

  9. vs.net_2003 下载 虽然是老古董了,但还是很有用的。

    系统要求 支持的操作系统: Windows 2000; Windows NT; Windows Server 2003; Windows XP 以下VS2003的下载链接: http://bcsoft ...

  10. asp.net MVC ajax上传文件

    普通上传 view: <body> <form id="form1" method="post" action="@Url.Acti ...