特別な要件により、私はquartz.netでカスタムトリガーを実装することができました。 (バージョン2.3.0)カスタムトリガ永続性デリゲートをquartz.dllに含める必要がありますか?
問題は、適切な永続デリゲートを登録することです。
必要なのQuartz.dllを参照し、
- メインプロジェクトがあること
"コアプロジェクト"は、私がカスタムトリガーの実装と所属するカスタムパーシスタンスデリゲートの両方を宣言した場所です。スケジューラ・インスタンスの「メインプロジェクト」コンフィギュレーション・データで
は、configファイルを介して提供され、ここで私がコメントを追加しました:は<add key="quartz.jobStore.driverDelegateInitString" value="triggerPersistenceDelegateClasses=SolutionName.QuartzService.Core.Triggers.CustomTriggerPersistenceDelegate, SolutionName.QuartzService.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
私は開始(私もその前にSolutionName.QuartzService.Core.Triggers.CustomTriggerPersistenceDelegate
てみました)スケジューラをアップすると、永続デリゲートを登録しようとすると失敗することがわかります:
Unhandled Exception: Quartz.SchedulerConfigException: Failure occured during job recovery. ---> Quartz.Impl.AdoJobStore.NoSuchDelegateException: Couldn't instantiate delegate: Error instantiating TriggerPersistenceDelegate of type: SolutionName.QuartzService.Core.Triggers.CustomTriggerPersistenceDelegate ---> Quartz.Impl.AdoJobStore.NoSuchDelegateException: Error instantiating TriggerPersistenceDelegate of type: SolutionName.QuartzService.Core.Triggers.CustomTriggerPersistenceDelegate ---> System.TypeLoadException: Could not load type 'SolutionName.QuartzService.Core.Triggers.CustomTriggerPersistenceDelegate' from assembly 'Quartz, Version=2.3.0.0, Culture=neutral, PublicKeyToken=null'.
T彼はQuartz
- 明示的に言及されたアセンブリは私を混乱させました。カスタム永続デリゲートを含むQuartzソースコードをコンパイルする必要がありますか?あるいは私は何か他のものを逃していますか