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. C++的ORM工具比较

        用过Java的都知道SSH框架,特别对于数据库开发,Java领域有无数的ORM框架,供数据持久层调用,如Hibernate,iBatis(现在改名叫MyBatis),TopLink,JDO,J ...

  2. 优化LibreOffice如此简单

    对于开源软件的支持者和粉丝来说,LibreOffice 无疑是 Microsoft Office 的最佳替代品,而且它已在过去的许多版本迭代中迎来了许多巨大改进.然而,通过用户的手动配置,我们还是有办 ...

  3. set -x与set +x指令

    转载自:http://www.2cto.com/os/201304/205118.html 参考: http://blog.csdn.net/t0nsha/article/details/860688 ...

  4. [mysql]brew 安装 配置 操作 mysql(中文问题)

    mac 下卸载mysqldmg mac下mysql的DMG格式安装内有安装文件,却没有卸载文件--很郁闷的事. 网上搜了一下,发现给的方法原来得手动去删. 很多文章记述要删的文件不完整,后来在stac ...

  5. android高级---->AsyncTask的源码分析

    在Android中实现异步任务机制有两种方式,Handler和AsyncTask,它在子线程更新UI的例子可以参见我的博客(android基础---->子线程更新UI).今天我们通过一个小的案例 ...

  6. Node.js爬虫数据抓取乱码问题总结

    一.非UTF-8页面处理 1.背景 windows-1251编码 比如俄语网站:https://vk.com/cciinniikk 可耻地发现是这种编码 所有这里主要说的是 Windows-1251( ...

  7. CSS--复习之旅(一)

    CSS概述 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分 ...

  8. jquery1.9+获取append后的动态元素

    jquery 1.9+放弃了live,说是用on代替了! 那么如果我们以前用live来获取jquery动态添加的元素,现在应该用on怎么写呢? 首先: <div id="one&quo ...

  9. 百度地图js根据经纬度定位和拖动定位点

    <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...

  10. 重新想象 Windows 8 Store Apps (59) - 锁屏

    [源码下载] 重新想象 Windows 8 Store Apps (59) - 锁屏 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 锁屏 登录锁屏,获取当前程序的锁 ...