0

次のコードは、次のエラーを生成します。

Imports Quartz
Imports Quartz.Impl

Public Class InsertRssFeedJob
    Implements IJob

    Public Sub Execute(context As JobExecutionContext)
        Dim rssContoller = New RssController()
        rssController.InsertRssFeedItem("")
    End Sub

End Class

エラー 1 クラス 'InsertRssFeedJob' は、インターフェイス 'Quartz.IJob' の 'Sub Execute (context As IJobExecutionContext)' を実装する必要があります。C:\Users\darchual\documents\visual studio 2010\Projects\MyBlog\MyBlog\QuartzScheduler\Class1.vb 5 16 MyBlog

ライブラリ パッケージ参照を追加し、Quartz を正常にインポートできますが、"Implements IJob" の下に青い線があり、上記のエラーが表示されます。私に何ができる?ありがとうございました。

4

2 に答える 2

2

これが私の使い方です(最初に別のクラス/サブでscheduleFactoryを作成します)...

Dim schedFact As ISchedulerFactory = New StdSchedulerFactory()

' get a scheduler
Dim sched As IScheduler = schedFact.GetScheduler()
sched.Start()

' construct job info
Dim jobDetail As New JobDetail(TriggerName, Nothing, GetType(cls_schedule))
Dim trigger As Trigger = TriggerUtils.MakeDailyTrigger(hour, min)

trigger.StartTimeUtc = DateTime.UtcNow
trigger.Name = TriggerName
sched.ScheduleJob(jobDetail, trigger)

クラス名「cls_schedule」をJobDetailに渡しました。その後、クラス(パラメーターとして渡された)を使用して、実際のタスクを実行できます。

Public Class cls_schedule
    Implements IJob

    Public Sub Execute(ByVal context As Quartz.JobExecutionContext) Implements Quartz.IJob.Execute
        Dim jobType As String = context.Trigger.Name
                 ' Your Code Goes here
    End sub
于 2012-09-06T17:40:44.457 に答える
1

それはexecuteメソッドの署名であり、それをIJobContextに変更して、それを解決する必要があります。

于 2012-09-07T09:44:51.180 に答える