Konstruktor-Injektion mit Quartz.NET und Einfache Injektor
Derzeit Schreibe ich einen Dienst mit Quartz.NET so planen Sie die Ausführung von es.
Ich Frage mich, ob jemand keine Erfahrung von über constructor-injection mit Quartz.NET und Einfach Injektor.
Unten ist im Grunde das, was ich erzielen möchte
public class JobImplementation: IJob
{
private readonly IInjectedClass injectedClass;
public JobImplementation(IInjectedClass _injectedClass)
{
injectedClass = _injectedClass
}
public void Execute(IJobExecutionContext _context)
{
//Job code
}
InformationsquelleAutor Thewads | 2013-01-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut in diesem blog-post, müssen Sie implementieren eine benutzerdefinierte
IJobFactory
wie diese:Darüber hinaus müssen Sie die folgenden Eintragungen:
Ich hatte, um ihn zu suchen und dachte, es wäre hilfreich zu beachten, dass die folgenden Quarz-Konfiguration, wie Sie sagen, dass die Injektion freundliche job factory-Implementierung:<add key="Quarz.scheduler.jobFactory.type" value="YourNamespace.SimpleInjectorJobFactory, YourAssembly"/>
Ich hatte zu registrieren, die scheduler-etwas anders als oben zu setzen die jobFactory. Die Verwendung von XML nicht funktionieren, da es erzwingt einen Standard-Konstruktor Anforderung. Also zusätzlich zu Steven ' s Beitrag habe ich Hinzugefügt-container.RegisterSingle<IScheduler>(() => {var scheduler = schedulerFactory.GetScheduler(); scheduler.JobFactory = container.GetInstance<IJobFactory>(); return scheduler; });
Super!!! Beachten Sie auch, dass mit Quartz.Net 2.0, benötigt man zur Umsetzung
public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler) {...}
. Und nicht sicher, ob es irgendwelche cleanup-call umgesetztpublic void ReturnJob(IJob job){...}
.Dies scheint nicht zu funktionieren mit der neuesten version von Quarz und SimpleInjector. Ich habe nicht einen ILoadServiceScheduler, TimerScheduler, LoggingJobDecorator. Auch, wie bekomme ich die applicationAssemblies? Ich bin ziemlich verwirrt und kann nicht herausfinden this one out. 🙂
InformationsquelleAutor Steven
Spät zur party, aber https://github.com/hbiarge/Quartz.Unity eignet sich gut für die Kombination Quartz.NET und Einheit.
InformationsquelleAutor howcheng