HTML5技术

开源的.NET定时任务组件Hangfire解析 - 彭泽0902(2)

字号+ 作者:H5之家 来源:H5之家 2017-03-22 13:00 我要评论( )

该方法用于定期作业在指定的CRON计划上触发多次。该方法具有16个重载,Job.FromExpression(methodCall);用于获取基于Job类的新实例给定的方法调用的表达式树。GetRecurringJobId(job)方法根据Job对象获取对应的JobI

   该方法用于定期作业在指定的CRON计划上触发多次。该方法具有16个重载,Job.FromExpression(methodCall);用于获取基于Job类的新实例给定的方法调用的表达式树。GetRecurringJobId(job)方法根据Job对象获取对应的JobID。

   2.BackgroundJob.Enqueue():

Enqueue([NotNull, InstantHandle] Expression<Action> methodCall) { var client = ClientFactory(); return client.Enqueue(methodCall); }

   该方法基于给定的方法调用表达式创建一个新的fire-and-forget作业。该方法接受一个参数,表示将被编组到服务器的方法调用表达式。接下来我们看一下var client = ClientFactory();方法的具体实现

internal static Func<IBackgroundJobClient> ClientFactory { get { lock (ClientFactoryLock) { return _clientFactory ?? DefaultFactory; } } set { lock (ClientFactoryLock) { _clientFactory = value; } } }

   该属性定义了一个Func<IBackgroundJobClient>的泛型委托。该属性是一个可读可写的操作,对ClientFactoryLock加锁,确保不发生死锁情况。

四.总结

    上面简单的介绍了Hangfire组件的背景和一些简单的应用,也着重的介绍了一些对象。这个组件的功能很强大,需要了解的地方也较多,这一篇文章不可能全部介绍,用做抛砖引玉的作用。在这里吐槽一句,微软最近技术发展太快,很多技术还没有来得及发展,就有新的技术出来,让我们这些底层的人着实难受,事物发展有规律,不是以前缺的东西可以在很短的时间就可以补上,还是需要留下足够的空间。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • GitHub开源:升讯威ADO.NET增强组件 sheng.ADO.NET.Plus V1.3 - sheng.chao

    GitHub开源:升讯威ADO.NET增强组件 sheng.ADO.NET.Plus V1.3 - shen

    2017-03-22 13:02

  • 开源免费的.NET图像即时处理的组件ImageProcessor - 彭泽0902

    开源免费的.NET图像即时处理的组件ImageProcessor - 彭泽0902

    2017-03-18 11:01

  • 跨平台的.NET邮件协议MailKit组件解析 - 彭泽0902

    跨平台的.NET邮件协议MailKit组件解析 - 彭泽0902

    2017-03-17 13:01

  • 一份关于组建.NET Core开源团队的倡议书 - 彭泽0902

    一份关于组建.NET Core开源团队的倡议书 - 彭泽0902

    2017-03-13 17:02

网友点评