こんにちは、私は本当に混乱しているので、助けてください。Unity を使用したインスタンスの作成に関して問題があります。作成したいインスタンスは Client タイプで、Job コンストラクター内で作成したいのですが、null 参照エラーが発生し続けます。他のケースでは、コントローラー内では解決がうまく機能するとしますが、このスケジュールされたジョブ内ではもう機能しません。
スケジューラーの作成は、Global.asax 内で行われます。
private void SchedulerStart() { ISchedulerFactory schedulerFactory = new StdSchedulerFactory(); IScheduler スケジューラ = schedulerFactory.GetScheduler(); スケジューラ.開始(); IJobDetail ジョブ = JobBuilder.Create().WithIdentity("CheckForCompletedJobs").Build(); ITrigger トリガー = TriggerBuilder.Create() .WithDailyTimeIntervalSchedule (s => s.WithIntervalInHours(24) .OnEveryDay() .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(4, 03)) ) 。建てる(); scheduler.ScheduleJob(ジョブ、トリガー); }
パブリック クラス CheckForCompletedJobs : IJob { プライベート読み取り専用 IPhotoEventRepository _photoEventRepository; public CheckForCompletedJobs() { _clientRepository = DependencyResolver.Current.GetService(); } public void Execute(IJobExecutionContext コンテキスト) { // clientRepository でのアクション } }