Question  81
You are designing a custom administrative timer job for a SharePoint 2010 farm. You need to design a storage plan for the program configuration data that meets the following requirements:
.The configuration data in the storage location must control the program logic for the timer job.
.The storage location must allow the configuration information to be saved and modified as the timer job parameters change.
.The storage location must require administrative access to modify the program logic.
.The storage method must support farm-scoped timer jobs.
Which object class should you use to create the storage location?
A. The Configuration Section class in the web.config file
B. The SPWebConfigModification class in in the web.config file
C. The SPPersistedObject class in the hierarchical object store
D. The SPWeb class in the site collection property bag

解析:
 你为Sharepoint2010场设计了一个用户定义的用于实现管理的Timer Job,你需要为此Timer Job考虑如何存取配置信息,要求如下:
  要求1. 保存在存储位置的配置信息可被用来影响Timer Job的程序执行逻辑
  要求2. 配置信息可以随着Timer Job参数的改变而被保存或修改
  要求3. 支持在管理层面上存取配置信息并影响程序执行逻辑
  要求4. 必须支持场范围的Timer Jobs
 你需要使用哪种对象来创建你的存储位置?
首先,本题的配置信息影响的层次是Sharepoint场,所以可以排除Web.config相关选项,即选项A.B,因为Web.config主要用于处理Web Application级别的配置信息。至于选项D,使用SPWeb类的属性包,这个我们在前面已经多次提到过Sharepoint对SPFarm,SPWebApplication,SPSite,SPWeb和SPList这几个层次的对象均提供了属性包,这里使用的SPWeb即针对网站的类对象属性包,作用不到场级别,所以也被排除。
  再来看选项D, 使用SPPersistedObject,前面我们也提到过,实例化 SPPersistedObject 的对象保留在 SharePoint 2010 配置数据库中。而我们知道Sharepoint使用配置数据库来存储服务器场中服务器的配置和网站映射信息。每个服务器场只能有一个配置数据库。很显然,它是服务器场级别用来保存配置信息的选项。
因此本题答案应该选 C

参考  
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx
http://msdn.microsoft.com/zh-cn/library/bb861909(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/microsoft.web.management.server.propertybag(v=vs.90).aspx

Question  82
You are planning to store some custom configuration settings in a SharePoint 2010 farm. A set of key-value pairs must be saved and retrieved for several sub sites within a web application. You need to ensure that the key-value settings are stored for each sub site. Which approach should you recommend?
A. Declaratively store the values in the web.config file for the web application.
B. Declaratively store the values in a custom list in the site collection that contains the sub sites.
C. Programmatically store the values in the property bag of the SPFile object.
D. Programmatically store the values in the property bag of the SPWeb object.

解析:
  你计划保存Sharepoint场的用户配置信息, 涉及到Web Application下的子网站的键值对数据组的存取。你需要保证这些键值对数据必须根据不同的子网站进行保存,你应该采用哪种方式实现呢?
  首先,提到配置信息的保存形式是键-值对,所以可以直接排除选项A.B,因为选项A使用Web.config,选项B使用用户列表,这两种方式保存配置信息的形式均不是键-值对方式。
  其次,提到键-值对方式的配置信息,我们通常应该想到属性包,在备选项中只有选项C.D提到了属性包,而选项C是SPFile对象的属性包,选项D是SPWeb对象的属性包,根据题干要求:你需要保证这些键值对数据必须根据不同的子网站进行保存,很明显是针对SPWeb层次的操作。
因此本题答案应该选 D

参考 
http://msdn.microsoft.com/zh-cn/library/gg491706(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/ms460914(v=office.14).aspx

Question  83
You are designing a SharePoint 2010 Internet site for e-commerce. The site shows pricing information retrieved from a Microsoft SQL Server database for the deals featured each day on the home page. You need to cache the pricing data for each featured deal on the server and refresh the data with a minimum amount of network traffic.
Which approach should you recommend?
A. Use LINQ to SharePoint from a query of the database server for the pricing data.
B. Use AJAX code on the client from the database server.
C. Use the server session state to cache the data.
D. Cache the data and use a lock to control the refresh of the cache data.

解析:
  你负责基于Sharepoint2010设计一个电子商务内部网站, 此网站的主页上显示了每天的交易价格,这些数据是保存在SQL数据库中的,你需要在服务器上为各个功能缓存交易价格信息并且占用尽可能少的网络流量来刷新这些数据。你应该采用哪种方式来实现呢?
  很明显,这是一道关于Sharepiont缓存技术的题,先让我们来大致了解一下Sharepoint的缓存相关知识点。
可使用 Microsoft SharePoint Server 2010 缓存选项来优化网站性能。SharePoint Server 2010 使用 ASP.NET 缓存选项和 Office 团队专为 SharePoint Server 2010 设计的缓存功能。下面就是它可用的缓存类型及实施每类缓存的位置。
1.输出缓存和缓存配置文件,实施位置是:单页级别,它适用于无需频繁显示新内容的访问量大的网站。
2.对象缓存,实施位置是:单个 Web 部件控件、字段控件和内容级别,包括跨列表查询缓存和导航缓存
3.二进制大型对象 (BLOB) 的基于磁盘的缓存,实施位置是:单个 BLOB 级别, 此类缓存可控制对二进制大型对象 (BLOB)(如图像、声音、视频文件和代码片段)的缓存。使用基于磁盘的缓存可减少访问 BLOB 时所需的数据库往返行程次数。从数据库检索 BLOB 之后,BLOB 将会存储在 Web 服务器上。后续的请求都从基于磁盘的缓存提供,并根据安全性对这些请求进行修整。
  我们可通过以下方式大大提高 SharePoint Server 2010 部署的性能:
 构建缓存感知控件。
 按照适合您的网站部署的方式扩展缓存。
 构建始终使用对象缓存的导航提供程序。
 创建使用内容查询缓存的内容查询。
 为母版页和页面布局创建用于最大程度减少数据库往返的服务器控件。
 下面我们来分析各选项:
 选项A.使用LINQ to  Sharepoint技术来查询数据,我们知道LINQ to SharePoint 提供程序是在 Microsoft.SharePoint.Linq 命名空间中定义的。它将 LINQ 查询转换为协作应用程序标记语言 (CAML) 查询。开发人员无需再了解如何编写 CAML 查询。它为程序开发人员提供了更人性化的开发表达方式,但它不是用来解决查询数据的缓存问题的。所以排除。
 选项B.采用AJAX技术,这个技术是用来完成页面的局部刷新的,通过局部刷新来增强网站用户的使用体验,它也不是用来解决查询数据的缓存问题的。所以排除。
   选项C.采用服务器会话状态来缓存数据。要在一个SharePoint 2010程序中使用Session,开发人员会面临一些潜在的问题。SharePoint 2010系统很可能被部署为一个服务器场的模式,它可能包含有多台Web前端服务器,用户的Http请求会被NLB机制分发到多台Web前端服务器的任意一台上。这就要求开发人员应该尽可能的编写出“无状态”的代码,也就是说,代码不能依赖于某一台具体的服务器,因为开发人员没有办法确定自己的代码会始终运行在一个服务器上。有可能一个用户浏览一个页面时,它的请求被分配到Web服务器A,然后当用户刷新一下页面,这次请求则被分配到了Web服务器B。
   即便如此,Sharepoint2010还是提供了对Session的支持,SharePoint 2010 提供了两种与Session State相关的服务。
1.ASP.NET session state用于SharePoint 2010页面.此服务默认是禁止的,一旦开启,你就可以在服务程序管理页面找到 “SharePoint Server ASP.NET Session State Service.”条目。
2. State Service service application则仅针对InfoPath Forms Services and Visio Services.等Office应用程序。它与ASP.NET session state无关。你可以在服务程序管理页面找到 “State Service.”条目。
   选项C应该指的是第1种Session服务,此类Session都是保存在服务器场的配置数据库中,并且对整个服务器场都有效,由于本题是一个e-commerce网站,对数据安全必须存在一定的安全性要求,所以,这种对整服务器场开放的方式就显得不太安全了。再者,由于缓存数据是保存在配置数据库中的,它并不存在于你的WFE服务器上,所以相关数据的获取与交互还是要通过NetWork来进行,这样就起不到题目要求的占用尽可能少的网络流量来刷新这些数据的要求。再进一步,对此类Session的有效期控制也比较生硬,你只能在web application的web.config中配置TimeOut时间,一旦设置就很难再修改,且影响范围内是此Web Application中的所有Web Site Collections,而不仅仅这个Web Site。所以,选项C的通过Session的方式不太适合本题要求。
  选项D,通过Microsoft SharePoint Server 2010 缓存技术来实现,根据前面的描述,我们知道这是本题的正解。
因此本题答案应该选 D

参考 
http://msdn.microsoft.com/en-us/library/ff647588.aspx
http://msdn.microsoft.com/zh-cn/library/aa589700(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/ee535491(v=office.14).aspx

Sharepoint学习笔记—习题系列--70-576习题解析 -(Q81-Q83)的更多相关文章

  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. java加密解密的学习

    注:此文章只是对如何学习java加密解密技术做一个讲解.并不涉及具体的知识介绍,如果有需要请留言,有时间我补冲长.个人觉着学习一个学习方法比学习一个知识点更有价值的多. 首先,对于加密解密知识体系没有 ...

  2. 解决AndroidADT自带Eclipse编辑器不能自动代码提示的问题。

    今天发现,我下载的AndroidADT开发套装中自带的Eclipse没有自动代码提示功能.通过参考http://blog.csdn.net/coolszy/article/details/724195 ...

  3. 第2/24周 页_SQL Server 中数据存储的基本单位

    上周通过探讨SQL Server如何执行一个查询奠定了基础.我也在那里提到页是8kb的缓存.今天我们对页进行进一步集中探讨,从性能调优角度挖掘出更多的细节. 页是SQL Server的基础,在SQL ...

  4. JavaScript之旅(三)

    JavaScript之旅(三) 三.函数 在JavaScript中,定义函数的方式如下: function abs(x) { ... return ...; } 如果没有return,返回结果为und ...

  5. 设置参数进行启动的Python脚本模板

    # coding:utf-8 from optparse import OptionParser def migrate_func(): print 'You give the migrate arg ...

  6. Net.Sockets

    #region 程序集 System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program ...

  7. ado.net 用c#与数据库连接实现增删改查

    ADO.NET: 数据访问技术 就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 是所有数据访问技术的基础 ...

  8. Autofac - 组件

    快到年终了, 最近项目比较悠闲, 就想总结下, 项目中所使用到的一些技术, 以及使用方法. 之前有写过Dapper以及Dapper的一个扩展, 这些也是项目中使用过的. 算是一个温故而知新吧. 代码: ...

  9. Emit学习(1) - HelloWorld

    之前看过Dapper(使用到了Emit), CYQ.Data(另一种思路,没有使用Emit)类的框架之后, 也想自己做一个小框架玩一下, 不过此时能力太过欠缺, 做不了Cyq.Data或者PDF.Ne ...

  10. .NET Framework介绍

    .NET Framework 是一个集成在 Windows 中的组件,它支持生成和运行下一代应用程序与 XML Web Services. .NET Framework 旨在实现下列目标: 提供一个一 ...