Question 54
You create custom code to import content to SharePoint sites.
You create a custom site definition by using Microsoft Visual Studio 2010.
You need to ensure that when a new site that uses the site definition is created, the custom code executes after the site is created.
Which class should you add to the project?
A. SPChangeFile
B. SPItemEventReceiver
C. SPWebEventReceiver
D. SPWebProvisioningProvider

解析:
   本题想要做的事有2步:1.开发并部署一个Site Definition。 2.在使用此Site Defintion创建了一个新的Site后,运行一段代码达到向此Site导入指定的内容。问题是:使用哪个类可以达到第二步的目的。
选项A. SPChangeFile: 表示对file所作的修改,此file位于list之外或属于list的附件存在。网上可以找到某些关于此对象的应用示例
eg.使用Sharepoint Designer打开一个网站,添加一个新的Page或修改某个ASPX页面(在此页面上没有存放items),然后你可以使用如下的示例代码去捕获到SPFile对象以及其中的内容:
using (siteCollection)
{using (site)
{SPChangeQuery query = new SPChangeQuery(true, true);
SPTimeZone timeZone = site.RegionalSettings.TimeZone;
SPList list = site.Lists["MyDL"];
SPChangeToken start = new SPChangeToken(SPChangeCollection.CollectionScope.Web, site.ID, DateTime.Now.AddDays(-1));
query.ChangeTokenStart = start;
SPChangeCollection changes = site.GetChanges(query);
foreach (SPChange change in changes)
{if (change is SPChangeFile)
{Console.WriteLine("Date: {0}", change.Time.ToString());}
}}}
 从上可以看出选项A与本题没什么关系。
选项B. SPItemEventReceiver 此类是常规EventHandler编写继承的基类之一。它提供了一系列捕获发生在Item之上的事件的方法。例如: ItemAdded、ItemAdding、ItemAttachmentAdded、ItemAttachmentAdding、ItemAttachmentDeleted、ItemAttachmentDeleting、ItemCheckedIn、ItemCheckedOut、ItemCheckingIn、ItemCheckingOut、ItemDeleted、ItemDeleting、ItemFileConverted、ItemFileMoved、ItemFileMoving、ItemUncheckedOut、ItemUncheckingOut、ItemUpdating、ItemUpdated等等。很明显,这个与Item的Event相关的类与本题的Site Definition相关动作没有关系。

选项C. SPWebEventReceiver 与选项B类似,此类提供了一系列捕获发生在Web之上的事件的方法,包括:SiteDeleted,SiteDeleting,WebDeleted,WebDeleting,WebMoved,WebMoving在SPWebEventReceiver中你找不到能捕获Site创建的事件的方法。而此类方法是我们解决本题必须的,这很好理解,因为SPWebEventReceiver是针对一个”已经”创建好的Site所提供的方法,它并不能参与Site的创建过程。

选项D. SPWebProvisioningProvider 它的介绍可以参考上一个Question 53。它是本题的答案,因为SPWebProvisioningProvider类可以介入到Site的创建,我们可以在site provisioning handler中加入我们的代码,以在Site创建好之后实现进一步导入用户指定的内容的目的。
所以本题目正确选项应该是D

参考:
http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.spchangefile.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spwebprovisioningprovider.aspx

Question 55
You create a custom Web Part.
You need to verify whether the Web Part causes any memory leaks.
Which tool should you use?
A. SPDisposeCheck.exe
B. SPMetal.exe
C. Wca.exe
D. WinDbg.exe

解析:
 本题主要是考你使用什么工具来检查代码中潜在的内存泄漏。
选项A. SPDisposeCheck.exe   SPDisposeCheck是开发Sharepoint项目必不可少的工具之一,用它可以检测出你所写的代码是否正确销毁掉诸如SPSite或者SPWeb之类的“资源消耗大户”(你打开一个spsite或者spweb对象 将占用1M到2M的内存,如果你不断打开此类对象并没有及时关闭,那么你的内存就会很快被消耗掉)。 有关它的具体使用,请参考我的另一篇博文:http://www.cnblogs.com/wsdj-ITtech/archive/2011/11/24/2259773.html
选项B. SPMetal.exe: 是一类用于生成实体类的命令行工具,这些类可向 Microsoft SharePoint Foundation 内容数据库提供面向对象的界面。虽然这些类主要用于 LINQ to SharePoint 查询,但它们也可用于通过利用并发冲突解决方法来添加、删除和更改列表项。此外,还可将它们作为用于引用内容的常规 SharePoint Foundation 对象模型的替代项使用。 所以,此工具并不是用来检查代码内存泄漏的工具。
选项C. Wca.exe 工作流通信活动命令行实用工具:是一个Windows Workflow Foundation 工具。它用于从包含一个或多个 ExternalDataExchangeService 接口的输入程序集中为严格绑定的 HandleExternalEventActivity 活动和 CallExternalMethodActivity 活动派生的类生成代码文件。对于程序集中每个接口的每个方法和事件,活动是使用对应于方法/事件参数的强类型属性创建的。这些严格绑定的活动可通过强类型改善设计体验,并通过放弃使用反射来实现性能的小幅提升。
选项D. WinDbg.exe : WinDbg是微软开发的免费源码级调试工具。Windbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。WinDbg.exe也可以用来辅助检查内存泄漏,但是,它却无法针对Sharepoint的对象模型来检查Sharepoint代码中潜在的内存泄漏问题。

所以本题目正确选项应该是A
参考:
http://msdn.microsoft.com/zh-cn/library/ee538587(v=office.14).aspx
http://archive.msdn.microsoft.com/SPDisposeCheck
http://msdn.microsoft.com/zh-cn/library/vstudio/bb675220(v=vs.90).aspx
http://www.cnblogs.com/wsdj-ITtech/archive/2011/11/24/2259773.html

Question 56
You are creating a Web Part that will be deployed as a sandboxed solution.
You need to ensure that the Web Part can write debugging information to the SharePoint trace logs.
Which class should the logging component inherit?
A. SPDelegate
B. SPLog
C. SPPersistedObject
D. SPProxyOperation

解析:
  本题的意图是想在一个Sandbox Solution中写入信息到Trace Log文件。
我们知道,Sandbox Solution是一种受限的Solution,它是无法操作SharePoint trace logs文件的。但是有的时候,SandBox Solution又的确需要完成一些它自身无权去完成的操作。对于这种情况Sharepoint提供了另外一种途径,即完全信任代理(Full Trust Proxy),这种途径的主要思路就是:通过编写一个继承自SPProxyOperation抽象类的自定类,在此类中实现完全信任模式下的代码功能,然后把它的程序集部署到GAC(global assembly cache),通过此方式把完全信任代理功能暴露给沙盒以沙盒代码调用,这类似于创建了一个警戒区(特区),你可以对此区域的Solution进行特殊的关照。
完全信任代理(Full Trust Proxy)具体的实现可以参考我的博文(共三篇文章):
http://www.cnblogs.com/wsdj-ITtech/archive/2011/09/05/2166617.html
http://www.cnblogs.com/wsdj-ITtech/archive/2011/09/15/2177790.html
http://www.cnblogs.com/wsdj-ITtech/archive/2011/09/16/2177820.html
 
选项A. SPDelegate: 是一个抽象类,提供所有的升级代理(Upgrade delegates),它受控于Windows SharePoint Services Upgrade Manager。可通过Object属性取得代理的对象。总之它是一个与Windows SharePoint Services升级相关的类。很显然与Sandbox Solution没任何关系。

选项B. SPLog 它也是一个与Windows SharePoint Services升级相关的类,用于操作升级时的Log。所以它也与本题的要求无关。

选项C. SPPersistedObject 用于为对象提供自动序列化其状态值并持久保存以及在需要时获取前面所保存的值并反序列化的相关方法。也即,它属于定义自定义管理设置方面的类。在 Windows SharePoint Services 平台上构建应用程序时,您可能需要创建一个类以定义应用程序的自定义属性设置并提供用于存储这些设置的方法。
Windows SharePoint Services 3.0 中的 Microsoft.SharePoint.Administration 命名空间引入了对象持久性,使用它可将派生自基础 SPPersistedObject 类的类保留到 Windows SharePoint Services 数据库中。
若要创建保留的对象,您可以创建一个类,该类从 SPPersistedObject 或派生自 SPPersistedObject 的 Microsoft.SharePoint.Administration 命名空间中的某个类继承。此类可以定义一个用于存储 Windows SharePoint Services 数据库中的自定义属性设置的对象模型。例如,您可以创建通过某种方式使用 Windows SharePoint Services 的 Windows 服务,这将需要创建一个继承自 SPWindowsService 类的类,以便存储特定于 Windows 服务的设置。已编译的 DLL 将为客户提供一个可用于检索或保存属性的对象模型。Windows SharePoint Services 提供用于存储设置的方法和位置,并管理它们对服务器场中的所有服务器和过程(包括缓存刷新)的可用性。
  在实际使用中,我们也可用它来保存用户的某些配置信息。
   但很显然,此类也无法完成本题要求的功能。

所以本题目正确选项应该是D
参考:
http://msdn.microsoft.com/en-us/library/ff798433.aspx
http://msdn.microsoft.com/zh-cn/library/gg622616(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.upgrade.splog.aspx
http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.administration.sppersistedobject_members.aspx

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

  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. WWDC2015 结束.新一波更新以及bug即将来袭.

    WWDC结束.新一波更新以及bug即将来袭. HTTPS 将成为标准链接. http被报错. GamePlayKit 这是搞那样. 还有ReplayKit  那些什么录像分享什么的还有活路么? Mod ...

  2. 【PHP编程之路-1】设置apache虚拟目录

    概述 设置apache虚拟目录 1.开启“虚拟目录配置文件”httpd-vhosts.conf 文件路径:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-v ...

  3. centos 一键安装jdk

    先检查 yum list installed |grep java 卸载JDK相关文件输入:yum -y remove java-1.7.0-openjdk*. 卸载tzdata-java输入:yum ...

  4. 简单学ES6 - class

    前言 随着ES6标准的定稿,众多的特性也趋于稳定,各大浏览器也在逐步实现这些特性,那么对ES6有更多的了解就无可厚非了. 准备 在学习ES6之前,我们需要有一个环境来测试ES6代码.在这里我推荐使用n ...

  5. [Design Patterns] 2. Design principle

    Single Responsibility Principle 类的设计趋向于:Use Case Diagram --> (derived) --> Detail Open-Closed ...

  6. 受限玻尔兹曼机(RBM)学习笔记(五)梯度计算公式

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  7. 超好玩!10款神奇的字符图案 & 词汇云生成工具

    在这里,我们推荐10款惊人的字符图案生成工具.词云可以定义为词频的图形表示,而字符图案发生器是一个把数据,如文字和标签在以视觉和吸引人的方式展示的简单的工具.这些生成工具具有不同的功能,其中包括不同的 ...

  8. 链表的实现(Java语言描述)

    代码如下: public interface ListInterface<T> { public T getElem(int i); public boolean insertElem(i ...

  9. ok6410 android driver(5)

    Test the android driver by JNI (Java Native Interface), In the third article, we know how to compile ...

  10. javaweb学习总结(三十二)——JDBC学习入门

    一.JDBC相关概念介绍 1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡 ...