SharePoint Timer Job

首先介绍一下什么是定时器作业,说的再多,也不如一张图说的清楚


这两张图应该把我想说的已经表达清楚了,下一步介绍一下如何自定义Timer Job
第一步:创建一个类(CustomTimerJob.cs)
第二步:引用 using Microsoft.SharePoint.Administration;并继承SPJobDefinition
第三步:构造 三个函数
        public CustomTimerJob()
            : base()
        {
        }
        public CustomTimerJob(string jobName, SPService service, SPServer server, SPJobLockType targetType)
            : base(jobName, service, server, targetType)
        {
        }
        public CustomTimerJob(string jobName, SPWebApplication webApplication)
            : base(jobName, webApplication, null, SPJobLockType.ContentDatabase)
        {
            this.Title = "Custom Timer Job";  //在上面的图处上可以看到这个名字
        }
第四步:override Execute 处理自己的业务
     public override void Execute(Guid targetInstanceId)
        {
            SPWebApplication webApplication = this.Parent as SPWebApplication;
            SPContentDatabase contentDb = webApplication.ContentDatabases[targetInstanceId];
            // get a reference to the "Tasks" list in the RootWeb of the first site collection in the content database
            SPList taskList = contentDb.Sites[0].RootWeb.Lists["Product"];
            // create a new task, set the Title to the current day/time, and update the item
            SPListItem newTask = taskList.Items.Add();
            newTask["Title"] = DateTime.Now.ToString();
            newTask.Update();
        }
在上一篇 自定义 Features 里面,当激活功能时,到管理中心可以看到自己的定义的 Timer Job
public override void FeatureActivated(SPFeatureReceiverProperties properties)
        {
            SPSite site = properties.Feature.Parent as SPSite;
            if (site != null)
            {
                foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)
                {
                    if (job.Name == CUSTOM_TIMER_JOB)
                    {
                        job.Delete();
                    }
                }
            }
            //开始Job
            CustomTimerJob customTimerJob = new CustomTimerJob(CUSTOM_TIMER_JOB, site.WebApplication);
            SPMinuteSchedule schedule = new SPMinuteSchedule();
            schedule.BeginSecond = 0;
            schedule.EndSecond = 59;
            schedule.Interval = 5;
            customTimerJob.Schedule = schedule;
            customTimerJob.Update();
        }
之后部署,到网站网站集里停止再激活,之后去管理中心,就可以看到自己定义的Job了

更多精彩请关注







转载于:https://www.cnblogs.com/Fengger/archive/2012/06/02/2532047.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这次使用一个最舒服的姿势插入HttpClient拦截器技能点

码甲哥继续在同程艺龙写一点大前端,今天我们来了解一下如何拦截axios请求/响应?这次我们举一反三,用一个最舒适的姿势插入这个技能点。本文阅读耗时5 minute,行文耗时5 Days。axios是一个基于 promise 的网络请求库,可…

甜蜜助攻!情侣之间,到底能有多甜甜甜甜甜甜甜甜

▲ 点击查看没有一丝丝防备,还有 5 天,七夕就要到了。如何借「物」聊表爱意,大概是最近让很多拥有另一半的人头疼不已的问题。重点是,礼物挑不好,小心七夕就变送命题!女孩子们到底喜欢什么礼物?…

多个查询语句能否一次把结果导出_mysql表中base64格式数据查询

需求:为了避开特殊字符(如:单引号)影响,把某些字段保存为base64格式。SQL语句直接解码base64编码数据,直接查询出原始数据。表中数据如下很不直观,当根据where条件查询时,肉眼不能直接从结果提取到可读信息…

【转帖】Reporting Service rdl报表,在aspx页面显示一张完整的RDL报表

第一次弄RDL报表. 权当自己的一个随手笔记吧.希望能有好的意见或者建议欢迎大家提出来. 一起学习.灰常欢迎.. 第一步,先找出你的Reporting Server 的 URL . 如图: 其中URL 就是ReportingServer 的URL 在新建的aspx页面部署的时候非常重要. 虚拟目录的话,在WIN 7 上…

志愿者招募 | 2021 .NET Conf China

回顾往届 .NET Conf China 活动志愿者团队承担着非常重要的职责参与到活动组织和安排过程的方方面面志愿者的团队协作和专业素养展示出了高度的凝聚力和号召力无私付出和敬业得到了多方的好评今年,我们诚邀更多志愿者加入与助力为 2021年中国 .NET 开发者大会提供志…

数学上最有趣的数,装得了逼,撩得了妹!

全世界只有3.14 % 的人关注了爆炸吧知识一分钟记住走马灯数那些美丽有趣的自然数一定有它存在的意义,就像帅气逼人的超模君依然具有令人羡慕的才华。但是,存在这么一些自然数,例如走马灯数一直被视为无用,一身正气的超模君决定找到…

php运算符优先级题目,详解php运算符优先级

php中,一个运算可能是有多个运算符连接在一起的,我们给其运算的执行决定先后顺序,下面由小编给大家介绍php运算符优先级,希望对需要的朋友有所帮助!在php运算中遵循的规则就是:优先级高的运算符优先执行&am…

阿里开发规范文档_华为阿里等技术专家15年开发经验总结:SSM整合开发实战文档...

前言Spring自2002年诞生至今,已有近20年的历史,虽然几经变迁,但始终在继续发展和精进。Spring目前由Pivotal维护和开发。Pivotal是PaaS(平台即服务)的领导者,也是消息中间件RabbitMQ的缔造者。12306的流量销…

Swift中的区间运算符和半开区间运算符

2019独角兽企业重金招聘Python工程师标准>>> 区间&#xff0c;使用三个点表示&#xff08;a...b&#xff09;&#xff0c;表示从a到b&#xff0c;包含a和b&#xff0c;b要大于a&#xff0c;包含第一个和最后一个 半开区间&#xff0c;&#xff08;a..<b&#xf…

使用 Directory.Build 来消除项目文件中的重复配置

使用 Directory.Build 来消除项目文件中的重复配置Intro如果解决方案里的项目比较多的话&#xff0c;往往会有很多重复的项目属性&#xff0c;通常我们可以使用独立的 props 属性文件来配置公用的属性&#xff0c;而一般的属性文件都需要手动的 Import 到项目文件中&#xff0c…

chromium关闭更新_Win10今年最重磅更新!Win10 2004正式版详尽体验

今年首个Windows 10正式版更新于近日上架MSDN&#xff0c;版本号最终确定为Build 19041.208(v2004)&#xff0c;这是一个RTM版本&#xff0c;也就是送到OEM厂商压盘的正式版本&#xff0c;向用户正式推送的时候不会再有什么功能变化。按照微软的一贯逻辑&#xff0c;上半年更新…

Android网络通信的六种方式示例代码

表1展示了Android SDK中的一些与网络有关的API包名表1. Android SDK 网络包包 描述 API LevelJava.net 提供与联网有关的类&#xff0c;包括流和数据包&#xff0…

技术分享 | 业务模板的技术实践

源宝导读&#xff1a;“业务模板”作为天际建模平台3.0推出的重要特性&#xff0c;它将元数据复用发挥到了极致&#xff0c;通过业务模板几乎可以覆盖整个建模元数据开发流程&#xff0c;提供业务场景级别的复用能力。本文将介绍“业务模板”的设计原理、实现方案和应用场景。一…

为什么那么好的女孩子还单身?

1 终于知道家里的吃的都是怎么没的了&#xff01;2 我的小鱼干&#xff01;快给我&#xff01;3 这几只狗子真是太皮了&#xff01;4 您点的肉香满溢披萨到了~5 一位新手爸爸分享了自己关于为人父母的感悟6 应采儿&#xff1a;为什么那么好的女孩子还单身&#xff1f; 陈小春&a…

RHCS创建高可用集群apche服务器

实验环境&#xff1a; 系统版本&#xff1a;RHEL5.4 将selinux关闭&#xff0c;刷新iptables -F 配置yum仓库 192.168.0.25 station25.example.com 宿主机 192.168.0.24 station24.example.com 节点(虚拟机) 192.168.0.39 station39.example.com 节点(…

成不了天才,但为何也没成人材?(转)

长期以来&#xff0c;"软件业"一直被视为"智力密集"型的"朝阳"产业&#xff0c;大多数从业者都受过高等教育&#xff0c;其平均素质居于社会各行业的前列&#xff0c;这个产业的顶尖人物被公众视为"知识英雄"&#xff0c;比如微软公司…

.NET 6 RC2 版本发布

原文&#xff1a;bit.ly/3FS9xm7作者&#xff1a;Richard日期&#xff1a;2021-10-12翻译&#xff1a;精致码农-王亮说明&#xff1a;文中有大量的超链接&#xff0c;这些链接在公众号文章中被自动剔除&#xff0c;一部分包含超链接列表的小段落被我删减了&#xff0c;如果你对…

最诡异数学悖论:1+1=1

全世界只有3.14 % 的人关注了爆炸吧知识今天&#xff0c;8岁表妹的老师给她奖励了一块大巧克力&#xff0c;超模君打趣她能不能分给我点&#xff0c;遭到残忍拒绝&#xff0c;超模君很愤怒&#xff0c;暗下决心要神不知鬼不觉地吃上表妹的巧克力。超模君趁表妹在认真做作业的时…

JS URL Parser

为什么80%的码农都做不了架构师&#xff1f;>>> /** *param {string} url 完整的URL地址 *returns {object} 自定义的对象 *description 用法示例&#xff1a;var myURL parseURL(http://abc.com:8080/dir/index.html?id255&mhello#top); myURL.fileindex.ht…

如何使用Instruments诊断App(Swift版):起步

2019独角兽企业重金招聘Python工程师标准>>> 本文由Mr_cyz&#xff08;博客&#xff09;翻译自raywenderlich&#xff0c;欢迎参与我们的翻译活动。原文&#xff1a;Instruments Tutorial with Swift: Getting Started 更新记录&#xff1a;该教程由 James Frost 更…