私はQuartz.NETを使用しています。すべてが正常に動作しますが、ジョブのいずれかが依存関係に依存しています。私はアイデンティティの登録をコメントアウト場合アイデンティティジョブのインスタンス化が失敗した場合、Quartz.NETは例外をスローしません
class ValidationStep : Step<ITransactionLineValidationStep, TransactionLine>, ITransactionLineValidationStep
{
private IImpersonatedWebClient ImpersonatedWebClient { get; }
private ISettings Settings { get; }
readonly IIdentity _identity;
private string ValidationAddress { get; set; }
private const string ValidationResultError = "Error";
public ValidationStep(IImpersonatedWebClient impersonatedWebClient,
ISettings settings,
IIdentity identity)
{
ImpersonatedWebClient = impersonatedWebClient;
Settings = settings;
_identity = identity;
}
使用
登録コード
static void RegisterTriggerListeners(IWindsorContainer container)
{
container.Register(DefaultInterfaces());
container.Register(Connections());
container.Register(
Component.For<Quartz.IScheduler>().Instance(StdSchedulerFactory.GetDefaultScheduler()),
Component.For<IJobFactory>().ImplementedBy<WindsorJobFactory>().DependsOn(Dependency.OnValue<IWindsorContainer>(container)).LifestyleTransient(),
// See: http://blog.nikosbaxevanis.com/2012/07/16/using-the-web-api-dependency-resolver-with-castle-windsor-scoped-lifetime/
// public void Install(IWindsorContainer container, IConfigurationStore store) section near the end of the page
Classes.FromThisAssembly().BasedOn<IHttpController>().LifestyleScoped()
//,
//Component
// .For<IIdentity>()
// .UsingFactoryMethod(WindowsIdentity.GetCurrent)
// .LifestyleSingleton()
);
RegisterJobs(container);
}
ジョブは - スケジューラが細かい実行されているが、例外がスローされることなく、仕事を使用して実行を停止します。 依存関係が登録されていない場合、通知を受け取る方法や例外をスローする方法はありますか?
私の答えを参照してください。また、「Quratz.NETは、ジョブのインスタンス化が失敗した場合に例外をスローしません」などのタイトルを変更することをお勧めします。 –