Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
针对特定web应用程序的SharePoint计时器作业?_Sharepoint - Fatal编程技术网

针对特定web应用程序的SharePoint计时器作业?

针对特定web应用程序的SharePoint计时器作业?,sharepoint,Sharepoint,我正在尝试部署一个自定义SPJobDefinition,以便针对特定的web应用程序运行它。我想我可以通过使用SPJobDefinition的web应用程序范围的基本构造函数并传入我想要的web应用程序来实现这一点。我在web应用程序功能的FeatureActivated event receiver中执行此操作: TestJob Job = new TestJob("Test", webApp); // TODO: change the sche

我正在尝试部署一个自定义SPJobDefinition,以便针对特定的web应用程序运行它。我想我可以通过使用SPJobDefinition的web应用程序范围的基本构造函数并传入我想要的web应用程序来实现这一点。我在web应用程序功能的FeatureActivated event receiver中执行此操作:

            TestJob Job = new TestJob("Test", webApp);
            // TODO: change the schedule to run nightly; one time for testing purposes only
            SPOneTimeSchedule schedule = new SPOneTimeSchedule(DateTime.Now);
            TestJob.Schedule = schedule;                
            TestJob.Update();
SPJobDefinition changeRequestRollupJob = new ChangeRequestRollup("Devon PMO Change Requests Report", webApp);
// install timer job, on a daily scheduleSPDailySchedule dailySchedule = new SPDailySchedule
{
    BeginHour = 07,
    BeginMinute = 11,
    BeginSecond = 00,
    EndHour = 09,
    EndMinute = 12,
    EndSecond = 00
};

changeRequestRollupJob.Schedule = dailySchedule;
changeRequestRollupJob.Update();
以下是作业本身的构造函数:

    public TestJob(string jobName, SPWebApplication webApplication)
        : base(jobName, webApplication, null, SPJobLockType.Job)
    {
        this.Title = jobName;
    }

看来,不管如何,这项工作都是针对所有web应用程序运行的。有什么建议吗?

小错误:您需要将计时器作业定义转换为自定义的
ChangeRequestRollup

因此,请为您的功能接收器执行以下操作:

            TestJob Job = new TestJob("Test", webApp);
            // TODO: change the schedule to run nightly; one time for testing purposes only
            SPOneTimeSchedule schedule = new SPOneTimeSchedule(DateTime.Now);
            TestJob.Schedule = schedule;                
            TestJob.Update();
SPJobDefinition changeRequestRollupJob = new ChangeRequestRollup("Devon PMO Change Requests Report", webApp);
// install timer job, on a daily scheduleSPDailySchedule dailySchedule = new SPDailySchedule
{
    BeginHour = 07,
    BeginMinute = 11,
    BeginSecond = 00,
    EndHour = 09,
    EndMinute = 12,
    EndSecond = 00
};

changeRequestRollupJob.Schedule = dailySchedule;
changeRequestRollupJob.Update();
我也不确定您的
SPDailySchedule
,因此我将其修改为使用
SPDailySchedule
。除此之外,它应该像你那样工作得很好