Как добавить свои репозитории / интерфейсы в класс, для которого требуется пустой конструктор? - PullRequest
1 голос
/ 23 августа 2010

В моих контроллерах я получаю доступ к своим репозиториям следующим образом:

private readonly IProjectRepository projectRepository;

public ProjectsController(IProjectRepository projectRepository) {
    Check.Require(projectRepository != null, "projectRepository may not be null");
    this.projectRepository = projectRepository;
}

[Transaction]
public ActionResult Index() {
    var projects = projectRepository.GetAll();
    return View(projects);
}

Это дает мне доступ к манипулированию и сохранению объектов в моей базе данных.Я пытаюсь использовать Quartz.Net, но задания Quartz используют пустой конструктор, например:

    private readonly IProjectRepository projectRepository;

    public QuartzJob() {}

    public void Execute(JobExecutionContext context)
    {
        var projects = projectRepository.GetAll();
    }

Это приведет к пустой ссылке на объект, потому что я его не инициировал.Как мне обойти это?Я чувствую, что это как-то связано с замком Виндзор, но я все еще новичок в этом и не знаю, как поступить.Я не могу быть первым человеком, который использует проект Sharp с Quartz.Net, любая помощь будет оценена.Спасибо!

1 Ответ

1 голос
/ 23 августа 2010

Используйте средство интеграции Quartz.Net . Это позволит вам относиться к кварцевым работам так же, как к любому другому сервису Windsor.

...