zoukankan      html  css  js  c++  java
  • 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).aspx

    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 14TEMPLATEIMAGES 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中使用一张在14TEMPLATEIMAGES目录下的图片,在VS2010中应该怎样做?
    在Question 134就涉及到这样的问题,其选项D提到,在 SharePoint 中的一些常用文件夹,例如图像(Images)和布局(Layouts)文件夹都牢牢的定义在Sharepoint的文件层次结构中(就像一种默认的契约,不能由用户自行更改,而是某种程度地固化在系统架构中了)。 您可以将这些文件夹映射到 SharePoint 项目中,以便更加轻松地访问它们。  很显然,新Map一个映射文件夹也仅仅是为Sharepoint项目新建立一个快捷方式,与本题的在用户自定义网站栏和用户自定义内容类型之间建立联系毫无关系。而本题所指的14TEMPLATEIMAGES目录就正是这样的映射目录。所以,本题的答案应该是选项C。
       其它选项所建立的目录均不会映射到本题题意所要求的14TEMPLATEIMAGES目录上。
    所以本题目正确选项应该是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。

    选项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.aspx

  • 相关阅读:
    TC(Total Commander)文件管理神器
    友盟 集成测试
    Channel SDK (渠道SDK) for Unity
    Prefab Assist插件
    Android资源(图片)命名规范
    FragmentTransaction的commit的异步操作
    面试2
    Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍
    Android必知必会-Android Studio修改包名
    Http标准协议Android网络框架——NoHttp
  • 原文地址:https://www.cnblogs.com/wsdj-ITtech/p/3164266.html
Copyright © 2011-2022 走看看