Не могу использовать свойства экземпляра при запуске задания на Hangfire - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь использовать 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.
     }
}
...