我設置Ninject在ASP.NET MVC3喜歡這裏解釋Using Binaries from GithubQuartz.NET與Ninject
現在我想設置Quartz.NET,但Ninject實現永遠不會執行我的工作。在我實施Ninject之前,我的工作按預期執行。爲什麼?那麼解決方案是什麼?
謝謝你的幫助! :)
public class MvcApplication : NinjectHttpApplication
{
(...)
protected override IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Load(System.Reflection.Assembly.GetExecutingAssembly());
kernel.Bind<IUploadRepository>().To<UploadRepository>();
kernel.Bind<StocksDB>().To<StocksDB>().InRequestScope();
return kernel;
}
protected override void OnApplicationStarted()
{
base.OnApplicationStarted();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
// Quartz.NET scheduler
var factory = new Quartz.Impl.StdSchedulerFactory();
var scheduler = factory.GetScheduler();
scheduler.Start();
// construct job info
var jobDetail = new Quartz.JobDetail("myJob", null, typeof(DumbJob));
var trigger = new Quartz.SimpleTrigger("myTrigger", null, DateTime.UtcNow, null, Quartz.SimpleTrigger.RepeatIndefinitely, TimeSpan.FromMinutes(5));
scheduler.ScheduleJob(jobDetail, trigger);
}
}
不確定,但您可能應該使用NuGet將當前的Ninject.MVC3代碼添加到您的項目中。它使用Web.Activator,不再需要你從NinjectHttpApplication派生 - 我懷疑這是你的問題。 – tvanfosson 2011-03-13 14:56:26
謝謝你的建議!但是,我使用的是Visual Studio Express,如果我沒有錯,NuGet是Visual Studio的擴展。 – 2011-03-13 18:57:04
看起來仍然如此,但他們有計劃在未來支持更多的Express版本(支持VS Web Dev Express)。 – tvanfosson 2011-03-13 19:08:12