2016-09-23 36 views
0

我有一個非常簡單的時間表和一份使用Quartz的工作,當我不使用nancyfx並且在我的global.asax中有MySchedule.Start()時它工作正常。我在使用nancyfx和bootstrapper.cs一個獨立的MVC項目試過同樣的工作,同樣的時間表,我不知道跑哪裏去了MySchedule.Start()在Nancyfx項目中使用Quartz。沒有global.asax開始時間表?

我試了一下引導程序內,並沒有工作:

public class Bootstrapper : DefaultNancyBootstrapper 
{ 
    protected override void ApplicationStartup(Nancy.TinyIoc.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines) 
    { 
     base.ApplicationStartup(container, pipelines); 
     MySchedule.Start(); 
    } 

} 
+0

爲什麼在NancyFX中使用ASP.NET MVC? Nancy已經是C#應用程序的API層。我更喜歡創建一個控制檯應用程序,在main中使用topshelf,並在服務啓動時同時啓動nancy(self host)和quartz作業。 – skynyrd

回答

0

應用啓動只在調用任何NancyFx路由時運行,這意味着您的調度程序只會在收到對api的請求後才啓動。我建議使用Owin,並將StartUp.cs類中的調度器的起始位置放在等同於Global.asax的位置。

+0

我試過了,但它似乎沒有工作:'公共靜態無效配置(IAppBuilder應用程序){MySchedule.Start(); } – NoviceDeveloper

+0

這兩個參考文獻: 安裝包Microsoft.Owin.Host.SystemWeb 安裝包Microsoft.AspNet.WebApi.OwinSelfHost – NoviceDeveloper

+0

好吧我修正了它..您將需要Own:AutomaticAppstart在配置中。 – NoviceDeveloper