Question 115
You create a timer job.
You need to debug the timer job.
To which process should you attach the debugger?
A. devenv.exe
B. owstimer.exe
C. spucworkerprocess.exe
D. w3wp.exe

解析:
 这是关于调试的问题,参见Question56
在Sharepoint的开发环境中调试不同的对象有时需要Attach到不同的进程,下面就是一些常见的情况
   1、Farm Solution     -----W3WP.EXE
   2、SandBox Solution   -----PUCWorkerProcess.exe,( SharePoint 在一个独立于主 IIS 应用程序池 (w3wp.exe) 进程的进程 (SPUCWorkerProcess.exe) 中运行沙盒解决方案代码。所以你必须在SPUCWorkerProcess上进行调试)
   3、用到了Full-trust Proxy的SandBox Solution--SPUCWorkerProcessProxy.exe
   4、feature receivers----Feature Receiver默认情况下是自动被Visual Studio 启动。你可以在Visual Studio的部署设置中更改这种设置。
        4.1、feature receivers的 activation/deactivation :根据它被activation/deactivation 的方式,你需要Attaching到不同的进程。
             • 在web界面上启动或停止----W2WP.EXE
             • 在PowerShell中启动或停止---- PowerShell.exe
        4.2、feature receivers的 FeatureInstalled/FeatureUninstalling/FeatureUpgrading(安装/卸载/升级)----- owstimer.exe
 至于其它选项:
  选项A. devenv.exe是微软Microsoft Visual Studio的一部分,用于应用程序开发。存放在目录 C:\Windows\System32下, 这个进程在 Windows 启动时自动载入。
  选项B.C.D均可在上面找到对应描述。
所以本题目正确选项应该是B

参考:
http://msdn.microsoft.com/en-us/library/ff798310.aspx

Question 116
You need to create a timer job that queries a list.
What should you do?
A. Create a class that inherits SPJobDefinition and override the Execute method.
B. Create a class that inherits SPJobDefinition and override the Provision method.
C. Create a class that inherits SPServiceApplication and override the Provision method.
D. Create a class that inherits SPServiceApplication and override the ProvisionInstances method.

解析:
    本题考你如何创建一个Timer Job去查询一个列表。
  Microsoft SharePoint 2010 计时器作业执行维护您的 SharePoint 场所需的大部分后端作业。计时器作业是在计划的时间在一台或多台服务器上运行的可执行任务。可将计时器作业配置为正好运行一次,或按定期计划运行。
计时器作业类似于 Microsoft SQL Server 代理作业,这些代理作业可通过备份数据库、整理数据库文件碎片和更新数据库统计信息来维护 SQL Server 安装。SharePoint 使用计时器作业来维护长时间运行的工作流、清理旧的网站和日志以及监控服务器场以发现问题。 计时器作业有一些优势。它们可以定期并独立于正在访问您的 SharePoint 网站的用户运行,它们可以从您的 Web 前端服务器卸载长时间运行的进程,从而提高您页面的性能和响应能力,它们还可在比您的 SharePoint 网站和应用程序页中的代码更高的权限下运行代码。
   创建 SharePoint 计时器作业:包括随 SharePoint 安装的所有计时器作业均是通过 SPJobDefinition 类创建和执行的。要创建新的 SharePoint 计时器作业,首先必须向继承自 SPJobDefinition 类的项目添加一个类。
  以下代码段显示继承自 SPJobDefinition 类的一个类的示例。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint; namespace MonitoringJob {
public class MonitoringJob : SPJobDefinition {
public MonitoringJob() : base() { } public MonitoringJob(string jobName, SPService service)
: base(jobName, service, null, SPJobLockType.None) {
this.Title = jobName;
} public override void Execute(Guid targetInstanceId) {
// Put your job's code here.
}
}
}

在该代码段中,MonitoringJob 类继承自 SPJobDefinition 类,定义一个非默认构造函数,并重写基类的 Execute 方法。非默认构造函数是必需的,因为 SPJobDefinition 类的默认构造函数仅供内部使用。
创建构造函数后,您必须重写 SPJobDefinition 类的 Execute 方法,并用您的作业所需的代码替换该方法中的代码。如果您的代码可以在没有其他配置的情况下运行,则您已完成创建此类。否则,您必须向您的项目添加配置屏幕和类。
  至此,本题的答案就已经出来了:即选项A。
 进一步看其它选项:
选项B. Create a class that inherits SPJobDefinition and override the Provision method.: 重写SPJobDefinition 类的Porvision方法,此方法是用来修改本地服务器以使相关对象能够被使用。
选项C.D 均是继承自SPServiceApplication类,此类是一个抽象类,表示在服务器上运行的服务应用程序。
所以本题目正确选项应该是A
参考:
http://tomaszrabinski.pl/wordpress/2010/05/27/spjobdefinition-as-the-way-to-create-scheduled-tasks/
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spserviceapplication.aspx

Question 117
You need to schedule a timer job to run every two hours.
Which schedule should you use?
A. SPDailySchedule
B. SPHourlySchedule
C. SPMinuteSchedule
D. SPOneTimeSchedule

解析:
 本题要设置一个定时器工作每2个小时运行一次,那么你需要设置哪个计划类?
 当我们创建了TimerJob后,就需要把它部署到我们的Sharepoint场里去。通常推荐的做法 是创建一个Reature Receiver,然后利用FeatureActivated事件实例化你的Job,设置它的执行计划以及更新这个Job。
  下面就是一段Feature Receiver示例代码:

Class SyncListsFeatureReceiver:SPFeatureReceiver
{
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
try
{
SPWebApplication webApp = (SPWebApplication)properties.Feature.Parent;
//Good Practice to delete the older version of Job if it exists
foreach (SPJobDefinition job in webApp.JobDefinitions)
{
if (job.Name.ToLower() == myJobName.ToLower())
{
job.Delete();
}
}

//Install the job definition
 SyncListsJob tempJob = new SyncListsJob (myJobName,webApp);
 
 //如果你想每个小时运行一次作业,那么就使用SPHourlySchedule类

 //This one will run between 0 to 5 mintues of every hour
SPHourlySchedule schedule = new SPHourlySchedule();
schedule.BeginMinute = 0;
schedule.EndMinute = 5;
tempJob.Schedule = schedule;
tempJob.Update();
}
catch (Exception ex)
{
}
} public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
try
{
SPWebApplication webApp = (SPWebApplication)properties.Feature.Parent;
//delete the job
foreach (SPJobDefinition job in webApp.JobDefinitions)
{
if (job.Name.ToLower() == myJobName.ToLower()
{
job.Delete();
}
}
}
catch (Exception ex)
{
}
}
}

所以如何计划作业的运行就取决于我们在上代码中使用什么类,下面列举了可用的类:
1. SPOneTimeSchedule :如果你想在指定时间运行且仅运行一次作业,则使用此类。
2. SPMinuteSchedule 如果你想每隔多少分钟运行一次作业,那么就使用此类
3. SPHourlySchedule 如果你想每个小时运行作业,则使用此类
4. SPDailySchedule 如果你想每天的某个时间(如:11:05AM)准时运行一次作业,则使用此类
5. SPWeeklySchedule :如果你想每周的哪一天的指定时间运行作业(如:每周三的2:01:00 am to 2:01:05 am)那么就使用此类。
6. SPMonthlySchedule:如果你想每个月的某一天指定时间运行作业(每个月的1号在21:15am 到 1:30am之间运行),那么就使用此类
7. SPYearlySchedule:如果你想在每一年的某一天的指定时间运行作业(如:每年的1月18号9:05AM),则使用此类。
  本题是想每2个小时运行一次,所以只有用SPMinuteSchedule类,因为此类有间隔属性,可以用来设置每间隔多少时间运行作业。为什么不能用SPHourlySchedule类呢?因为很明显,SPHourlySchedule类只能每个小时都运行,它没有间隔属性,无法设置每间隔多少时间运行作业。
所以本题目正确选项应该是C

参考:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spminuteschedule_members.aspx

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.sphourlyschedule_members.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.sphourlyschedule.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.sponetimeschedule.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spdailyschedule.aspx
http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.spminuteschedule_members.aspx

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

  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. 十一、EnterpriseFrameWork框架的分层与系统业务的结合

    上章详细讲了EnterpriseFrameWork框架中的每个分层,这都是从技术层面来说明,也就是我们知道怎么来建一个控制器或一个业务对象,但开发过程中应该建一个什么样的控制器或业务对象了?本章的主要 ...

  2. PHP实现简单的监控nginx日志文件功能

    此功能是为了实现,定时监控nginx生成的日志数据,并将新增的数据提交到一个接口(比如大数据的接口,让大数据来进行分析) define("MAX_SHOW", 8192*5); / ...

  3. 解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future:

    php 5个版本,5.2.5.3.5.4.5.5,怕跟不上时代,新的服务器直接上5.5,但是程序出现如下错误:Deprecated: mysql_connect(): The mysql extens ...

  4. apache 500错误

    一直以为开了error_log,没想没有加,于是折腾了好久. 开启error_log后,发现是xdebug的max_nesting_level值太小了. 还一个原因是.htaccess文件中的 < ...

  5. bower的使用

    一.bower的安装 安装nodejs的最新版本: 安装npm. 由于npm是nodejs的包管理器,所以在将nodejs安装完成后,npm也就自动安装完成. 安装git. 安装bower. 使用 n ...

  6. MySQL工具汇总

    本博客已经迁移至:http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文请点击:http://cenalulu.github.io/mysql/mysql-tools-lis ...

  7. UML系列01之 UML和绘图工具Visio介绍

    概要 UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言.UML是在开发阶段,说明,可视化,构建和书写一 ...

  8. Hadoop入门进阶课程13--Chukwa介绍与安装部署

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  9. java基础---->java中正则表达式二

    跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...

  10. js-计时事件

    JavaScript 一个设定的时间间隔之后来执行代码,称之为计时事件. 主要通过两个方法来实现:     1.setInterval() - 间隔指定的毫秒数不停地执行指定的代码.     2.se ...