आपको Quartz.Spi.IJobFactory
लागू करना होगा - जो नौकरी बनाने के लिए IResolutionRoot
का उपयोग करता है (कार्यान्वयन के लिए नीचे देखें)। (वैकल्पिक रूप से या,: Quartz.IScheduler.JobFactory = new NinjectJobFactory(kernel);
) Quartz.IScheduler.JobFactory = kernel.Get<NinjectJobFactory>();
: तो यह उपयोग करने के लिए अनुसूचक कॉन्फ़िगर
public class NinjectJobFactory : IJobFactory
{
private readonly IResolutionRoot resolutionRoot;
public NinjectJobFactory(IResolutionRoot resolutionRoot)
{
this.resolutionRoot = resolutionRoot;
}
public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler)
{
return (IJob)this.resolutionRoot.Get(bundle.JobDetail.JobType);
}
public void ReturnJob(IJob job)
{
this.resolutionRoot.Release(job);
}
}
धन्यवाद एक बहुत है, मैं यह – TommyLike
@BatteryBackupUnit मिला 'Quartz.IScheduler.JobFactory = * नई * NinjectJobFactory() 'शायद अधिक समझ में – stuartd
हाँ हो सकता है। लेकिन मुझे लगता है कि यह 'Quartz.IScheduler.JobFactory = kernel.Get() 'के रूप में है या आप' NinjectJobFactory' इंजेक्शन दिए जाने दें .. इसलिए मैंने इसे छोड़ दिया ;-) –
BatteryBackupUnit