Не могу использовать свойства экземпляра при запуске задания на Hangfire

Я пытаюсь использовать Hangfire в качестве планировщика заданий.

Я создал класс под названием Check который имеет некоторые свойства (нестатические переменные) и Run метод.

когда я запускаю Run В методе (с использованием фреймворка Hangfire) для конкретного экземпляра класса свойства в методе Run не инициализируются.

Я понимаю, что это поведение по умолчанию JobActivator Hangfire (когда Run метод вызвал, это создать новый экземпляр Check и запустить метод, используя его).

Насколько я понимаю, решение IoC Containers заставляет Hangfire использовать параметризованный ctor. Я пытался использовать Autofac, но я не могу заставить его работать.

Как я могу отправить параметры в ctor при планировании работы?

пример:

builder.RegisterType<Check>.AsSelf();
.
.
Check check = New Check(<Some Parameters for ctor>);
RecurringJob.AddOrUpdate<Check>("id", x => check.Run(), Cron.yearly);
.
.
.
class Check
{
     public int x, y, z; // for example

     public Check(int x, int y, int z) // ctor with parameters

     public Run()
     {
         // Here I'm trying to access properties of the instance
         // Like this.x but none of the them is initialized.
     }
}

0 ответов

Другие вопросы по тегам