Передача аграментов в NCron Job - PullRequest
3 голосов
/ 09 февраля 2012

У меня есть служба NCron, которая работает с заданным интервалом.Я хочу передать переменную на работу, но я не смог понять, как.Я также не видел никакой информации в NCon Wiki.Можно ли передать какие-либо аргументы в службу NCron?

Если вы не знакомы с NCron или вам нужна дополнительная информация: http://code.google.com/p/ncron/

service.At(setting.Interval).Run(setting.ClassInfo);

1 Ответ

3 голосов
/ 10 февраля 2012

Предполагая, что значение, которое вы хотите передать в задание, доступно вам при регистрации заданий в планировщике (например, параметры командной строки), вы можете сделать что-то вроде этого:

static void ServiceSetup(SchedulingService service)
{
    service.Hourly().Run(() => new MyJob("literal"));
    service.Daily().Run(() => new MyJob(_field));
}

Используя sexyлямбда-синтаксис, вы только что определили две однострочные функции, каждая из которых создает один и тот же класс задания с использованием разных параметров конструктора.

В качестве альтернативы, вы можете позволить контейнеру IoC создавать экземпляры ваших заданий с помощью любых аргументов конструктора и / или сервисов, которые онитребуют.Если вы не понимаете, о чем я сейчас говорю, вы, вероятно, захотите придерживаться первого предложения:)

...