Fluent Scheduler只运行一次

时间:2014-02-13 18:22:21

标签: c# asp.net-mvc-4 fluent

我在ASP.NET MVC 4项目中使用Fluent Scheduler。我想创建一个每天凌晨4点运行的调度程序。这是我的代码:

服务

public class ParseService : Registry
{
    public ParseService(string path)
    {
        Schedule(() => ParseHelper.ParseData(path)).ToRunEvery(1).Days().At(4, 0);
    }
}

的Global.asax.cs

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        AuthConfig.RegisterAuth();

        Application["LogPath"] = Server.MapPath("~/Areas/Admin/LogFiles/");
        TaskManager.Initialize(new ParseService(Application["LogPath"].ToString()));
    }
}

问题是调度程序只运行一次。如果我希望它在凌晨4点再次运行,我必须重新启动IIS服务器。有谁知道我的代码有什么问题?请帮我。非常感谢。

1 个答案:

答案 0 :(得分:2)

问题是第一次执行它的应用程序池已自动回收。您需要将应用程序池配置为活着,如果这确实是您想要的。

以下是how to configure that的精彩教程。

但是,我也同样要注意这一点。这更适合作为Windows服务或使用Windows任务计划程序启动的控制台应用程序。