Не могу использовать свойства экземпляра при запуске задания на 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.
}
}