15

我刚刚发现使用HangFire,您可以在 .Net 应用程序中运行后台作业,但是当我测试它的功能时,我意识到我添加到1 分钟 RecurringJob的方法中的时间不会改变,即使该方法被多次触发次:

控制台应用程序

方法:

private static string GetTime()
{
      return DateTime.Now.ToLongTimeString();
}

RecurringJob 声明:

 RecurringJob.AddOrUpdate("time", () => Console.WriteLine("Hello Hangfire! " + GetTime()), "*/1 * * * *");

我的问题:

是否可以在RecurringJob调用上述方法时显示时间更新?

4

1 回答 1

8

您传递给 console.writeline 的字符串正在被序列化,这就是为什么它得到添加匿名方法的时间,错误与否?好吧,我想这取决于您对它的期望。它在文档Hangfire Passing arguments中进行了解释

尝试使用这样的方法

private static void HelloWorldTime()
{
   Console.Writeline( "hello world! : " + DateTime.Now.ToLongTimeString() );
}

RecurringJob.AddOrUpdate("time", HelloWorldTime() , "*/1 * * * *");
于 2015-07-08T06:56:03.320 回答