アドバイスをください。
私の問題は次のとおりです。カスタムのスケジュールされたタスクに依存関係を実装しています。タスク自体は必要な依存関係で初期化されますが、開始時にタスクは実行中のステータスに移行しますが、コードは実行されません
スケジュールされたタスク:
public class TestJob : ScheduledTask, IJob
{
private readonly ITestService _testService;
public TestJob(ITestService service)
{
if (service is null)
{
throw new ArgumentException(nameof(service));
}
_testService = service;
}
public override void ExecuteTask()
{
_testService.DoSomting("From job");
}
public override string TaskName
{
get
{
return this.GetType().FullName;
}
}
テストサービス
public interface ITestService
{
void DoSomting();
void DoSomting(string message);
}
public class TestService : ITestService
{
public void DoSomting()
{
LogHelper.Logger().Information("======> Somting happined");
}
public void DoSomting(string message)
{
LogHelper.Logger().Information($"======> Somting happined {message}");
}
}
レジストリ
private void CreateJob<T>(SchedulingManager manager, string appSettingsName)
where T : ScheduledTask
{
try
{
var job = ObjectFactory.Resolve<T>();
var newUsersAddingJobSettings = settings_eg;
job.Id = Guid.NewGuid();
job.Title = job.TaskName;
job.ScheduleSpecType = settings_eg[0];
job.ScheduleSpec = settings_eg[1];
job.ExecuteTime = CrontabHelper.GetExecuteTime(nsettings_eg);
manager.AddTask(job);
manager.SaveChanges();
}
catch (Exception e)
{
////
}
}
ninjet でのサービスの登録
ObjectFactory.Container.RegisterType<ITestService, TestService>();