Передача аграментов в NCron Job
У меня есть сервис NCron, который работает с заданным интервалом. Я хочу передать переменную на работу, но я не смог понять, как. Я также не видел никакой информации в NCon Wiki. Можно ли передать какие-либо аргументы в службу NCron?
Если вы не знакомы с NCron или вам нужна дополнительная информация: http://code.google.com/p/ncron/
service.At(setting.Interval).Run(setting.ClassInfo);
1 ответ
Предполагая, что значение, которое вы хотите передать в задание, доступно вам при регистрации заданий в планировщике (например, параметры командной строки), вы можете сделать что-то вроде этого:
static void ServiceSetup(SchedulingService service)
{
service.Hourly().Run(() => new MyJob("literal"));
service.Daily().Run(() => new MyJob(_field));
}
Используя сексуальный лямбда-синтаксис, вы только что определили две однострочные функции, каждая из которых создает один и тот же класс задания с использованием разных параметров конструктора.
В качестве альтернативы вы можете позволить контейнеру IoC создавать экземпляры ваших заданий с любыми аргументами конструктора и / или службами, которые им требуются. Если вы не понимаете, о чем я сейчас говорю, вы, вероятно, захотите придерживаться первого предложения, хотя:)