Sharepoint学习笔记—习题系列--70-573习题解析 -(Q136-Q138)

Question 136
You need to create a custom content type and specify the content type ID.
What should you do?
A. Create a new module.
B. Create a custom Feature.
C. Call the Lists Web service.
D. Call the Webs Web service.程序员

解析:
   你想要在Sharepoint中建立一个用户自定义内容类型而且指定它的ID,那么你应该用什么方法呢?
   做为开发人员,您能够经过编写声明性 XML 或者服务器代码来建立内容类型。在建立将由其余人安装和激活的功能时,一般要执行此操做。所以,实际要对内容类型执行的操做不是建立内容类型,而是定义内容类型。
最终,将安装功能并由某个用户激活功能。Microsoft SharePoint Foundation 执行您的代码或读取您的声明性 XML 并使内容类型可用。具备管理列表权限的管理用户将新内容类型应用于列表或文档库,内容类型将发挥做用。有权向列表添加项目的任何用户均可以使用您的内容类型建立内容。管理用户经过添加或删除列、或更改其余属性,能够根据须要修改内容类型。全部这些都不在您的控制范围内。
关键点在于,“建立”内容类型其实是指建立内容类型定义。良好的内容类型定义能够预见内容类型的最终使用方式。
您无需从头开始建立内容类型。相反,始终能够选择现有内容类型做为建立的任何新内容类型的基础。这正是 Microsoft SharePoint Foundation 的内置内容类型所起的做用。您用于建立新内容类型的网站必须位于从其派生这一新内容类型的内容类型范围内,所以编写内容类型定义时应该考虑这一点。
建立内容类型的一种方法是使用声明性 XML 在功能的元素清单文件中定义内容类型。激活内容时,将建立内容类型。您能够在同一元素清单文件中定义多个内容类型。定义的每一个内容类型包含一个 ContentType 元素。ID 属性是必需的,而且您指定的值必须遵循特定的格式。格式正确的内容类型 ID 不只标识新内容类型,还标识父内容类型。
 ContentType 元素必需的另外一属性为 Name,该属性指定显示名称。该值能够为对 $Resources:String 格式的资源的引用。
在内容类型中包含列时,并不在内容类型定义中建立它们。实际上,您是引用 已在其余位置建立的列。若要包含列引用,请添加 FieldRef 元素做为 ContentType 元素的子项。引用的列能够是已经做为网站栏存在的列,也能够是建立内容类型的同一功能建立的新列。
若是您的内容类型对新内容使用某一文档模板,能够在 ContentType 元素内的 DocumentTemplate 元素中标识该文档模板。必须单独设置文件。一种方法是将向清单添加 Module 元素并将文件包含在功能中。
 上面就是对建立内容类型的一个简要描述。其基本方式就是经过Feature来建立部署一个内容类型,也即选项B所描述的方法。
 选项A. Create a new module. 之前已经许屡次提到过,Module只是被用来引入资源的。
选项C. D 均是调用外部Web service.服务,并不用于建立Sharepoint内部的内容类型。
  
因此本题目正确选项应该是B
参考:
http://msdn.microsoft.com/en-us/library/ff630942.aspx
http://msdn.microsoft.com/zh-cn/library/ms460224(v=office.14).aspxweb

 

Question 137
You create a Visual Web Part.
You need to add an image to the Web Part. The image must be deployed to the 14\TEMPLATE\IMAGES folder.
What should you do in Microsoft Visual Studio?
A. Create a folder named Images.
B. Create a folder named _layouts and a subfolder named Images.
C. Add a SharePoint Images mapped folder.
D. Add a SharePoint Layouts mapped folder and create a subfolder named Images.编程

解析:
   本题题意是想在一个Visual Web Part中使用一张在14\TEMPLATE\IMAGES目录下的图片,在VS2010中应该怎样作?
在Question 134就涉及到这样的问题,其选项D提到,在 SharePoint 中的一些经常使用文件夹,例如图像(Images)和布局(Layouts)文件夹都紧紧的定义在Sharepoint的文件层次结构中(就像一种默认的契约,不能由用户自行更改,而是某种程度地固化在系统架构中了)。 您能够将这些文件夹映射到 SharePoint 项目中,以便更加轻松地访问它们。  很显然,新Map一个映射文件夹也仅仅是为Sharepoint项目新创建一个快捷方式,与本题的在用户自定义网站栏和用户自定义内容类型之间创建联系毫无关系。而本题所指的14\TEMPLATE\IMAGES目录就正是这样的映射目录。因此,本题的答案应该是选项C。
   其它选项所创建的目录均不会映射到本题题意所要求的14\TEMPLATE\IMAGES目录上。
因此本题目正确选项应该是C
参考:
http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/03/12/deploying-files-using-mapped-folders.aspx服务器


Question 138
You create a Web Part by using Microsoft Visual Studio 2010.
You need to execute SPDisposeCheck.exe before the Web Part is deployed.
What should you do?
A. Configure a pre-deployment command line.
B. Configure SPDisposeCheck.exe as an external tool.
C. Change the configuration from Active (Debug) to Release.
D. Change the active deployment configuration to No Activation.架构

解析:
  本题的题意是想要在经过VS2010部署你所建立的Web Part以前使用SPDisposeCheck.exe工具进行检查,应该怎样作。
 咱们知道SPDisposeCheck这个工具是用来检测对象是否被正确的释放的,在sharepoint开发中, 常常要用到的spsite,spweb对象, 并且两个对象都是重量级的,msnd上的文章介绍过,你打开一个spsite或者spweb对象 将占用1M到2M的内存,若是你打开多了对象,都没有及时关闭,那么就会有大量的内存被吞噬掉。 固然,对于本题SPDisposeCheck这个工具只是个点缀,本题的重点并非考你SPDisposeCheck这个工具,而是考你VS2010中部署命令。
在VS2010中,咱们能够经过设置预先部署命令和后期部署命令来自定义部署过程。 在从 Visual Studio 调试 SharePoint 解决方案时,这些命令会在其余部署操做先后运行。
添加预先部署命令
1. 在“项目”菜单上,单击“项目名称 属性”。
2. 单击“SharePoint”选项卡。
3. 在“预先部署命令行”文本框中,键入 MS-DOS 或 MSBuild 命令以自定义此步骤。 例如,若要在部署完成以前列出目录内容,请键入 dir。
添加后期部署命令
1. 在“项目”菜单上,单击“项目名称 属性”。
2. 单击“SharePoint”选项卡。
3. 在“后期部署命令行”文本框中,键入 MS-DOS 或 MSBuild 命令以自定义此步骤。 例如,若要在部署完成以后列出目录内容,请键入 dir。 若要使用 MSBuild 变量从生成目录复制程序集,请键入 copy $(TargetPath) c:\DeploymentDirectory。
  因为本题是要求在部署以前运行 SPDisposeCheck这个工具,因此咱们就须要添加预先部署命令,即选项A。app

选项B. Configure SPDisposeCheck.exe as an external tool. 此选项是程序员根据须要,在编程环境中随时调用此工具。因此,此选项是影响不到VS2010的预先部署命令和后期部署命令的。
选项C. Change the configuration from Active (Debug) to Release. Visual Studio 项目中,程序的发布版本和调试版本使用不一样的配置。顾名思义,生成调试版本的目的是用于调试,而生成发布版本的目的是用于版本的最终分发。若是在 Visual Studio 中建立程序,Visual Studio 会自动建立这些配置并设置适当的默认选项和其余设置。在默认设置下:程序的“调试”配置用所有符号调试信息编译,不进行优化。优化会使调试复杂化,由于源代码和生成的指令之间的关系更加复杂。程序的“发布”配置被彻底优化,不包含任何符号调试信息。 因此本选项也与本题无关。
选项D. Change the active deployment configuration to No Activation.  将项目的“活动部署配置”属性的值设置为“无激活(No Activation)”。
  默认状况下,在运行 Visual Studio SharePoint 应用程序时,将在 SharePoint Server 上自动为您激活该应用程序的功能。 不过,在调试功能事件接收器时,这会致使问题,缘由是当 Visual Studio 激活某个功能时,该功能会在不一样于调试器的进程中运行。 这意味着,一些调试功能(如断点)将没法正常工做。
若要在 SharePoint 中禁用功能的自动激活并容许对功能事件接收器进行适当的调试,请在调试以前将项目的“活动部署配置(active deployment configuration)”属性的值设置为“无激活(No Activation)”。 而后,在开始调试您在 Visual Studio后的 SharePoint 应用程序中,请手动激活 SharePoint 中的功能。 若要激活该功能,请打开 SharePoint 中的 网站操做 菜单上,选择 站点设置(Site Settings),选择 管理网站功能 连接(Manage Site Features),而后选择该功能旁边的激活按钮,继续像以往同样进行调试。所以,本选项也与本题无关。
  因此本题目正确选项应该是A
参考:
http://msdn.microsoft.com/en-us/library/ee231534.aspx
http://msdn.microsoft.com/zh-cn/library/ee231550.aspx
http://msdn.microsoft.com/en-us/library/ee231559.aspxssh

相关文章
相关标签/搜索