如何用Ninject和Quartz设置调度程序工厂:

|| 我正在使用Quartz和Ninject,我希望能够自动绑定GetScheduler \(类似于您可以使用ninject和nihbernate自动绑定会话)。
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();

// get a scheduler
IScheduler sched = schedFact.GetScheduler();
我想做的是
public class MyService
{
   private readonly IScheduler sched;

   public MyService(IScheduler sched)
   {
       this.sched = sched;
   }

   public void Test()
    {
         sched.Start();
         // go on.
     }
}
因此,当我调用MySerivce时,它应该看到IScheduler并从分解后的调度程序中获取并传递给它。 这是我唯一能找到的东西,它似乎比我想要的东西还要先进,并且在Windows服务设置中(我正在使用asp.net mvc 3)。 编辑 这是我到目前为止提出的内容,但仍然崩溃
public class QuartzSchedulerFactoryProvider : Provider<ISchedulerFactory>
    {
        protected override ISchedulerFactory CreateInstance(IContext context)
        {
            var schedulerFactory = new StdSchedulerFactory();
            return schedulerFactory;
        }
    }

    public class NhibernateSessionFactoryProvider : Provider<ISessionFactory>
    {   
        protected override ISessionFactory CreateInstance(IContext context)
        {
            var sessionFactory = new NhibernateSessionFactory();
            return sessionFactory.GetSessionFactory();
        }
    }

     public class QuartzModule : NinjectModule
    {
        public override void Load()
        {
            Bind<ISchedulerFactory>().ToProvider<QuartzSchedulerFactoryProvider>().InSingletonScope();
            Bind<IScheduler>().ToMethod(context => context.Kernel.Get<ISchedulerFactory>().GetScheduler()).InRequestScope();
        }
    }



        protected IKernel CreateKernel()
        {
            var modules = new INinjectModule[]
                              {
                                 new QuartzModule()
                              };

            return new StandardKernel(modules);
        }
  无法加载文件或程序集   \'Common.Logging,版本== 1.2.0.0,   文化=中立,   PublicKeyToken = af08829b84f0328e \'或   它的依赖项之一。系统   找不到指定的文件。   说明:未处理的异常   发生在执行   当前的Web请求。请检查   有关更多信息的堆栈跟踪   错误及其起源   代码。      异常详细信息:   System.IO.FileNotFoundException:可以   无法加载文件或程序集   \'Common.Logging,版本== 1.2.0.0,   文化=中立,   PublicKeyToken = af08829b84f0328e \'或   它的依赖项之一。系统   找不到指定的文件。      源错误:      第13行:受保护的覆盖   ISchedulerFactory   CreateInstance(IContext上下文)行   14:{第15行:var   schedulerFactory =新   StdSchedulerFactory();第16行:   返回schedulerFactory;第17行:   }     
已邀请:

要回复问题请先登录注册