ABP对HangFire的集成主要是通过实现IBackgroundJobManager接口的HangfireBackgroundJobManager类完成的。

HangfireBackgroundJobManager:实现了接口IBackgroundJobManager中的方法EnqueueAsync,通过HangfireBackgroundJob完成Enqueue。重写了BackgroundWorkerBase中的Start和WaitToStop方法。

AbpHangfireConfiguration / IAbpHangfireConfiguration:定义了BackgroundJobServer的配置项。

HangfireIocJobActivator:继承了Hangfire组件里的JobActivator.因为ABP是通过Castle来作为容器管理对象的。所以这里的目的是为了通过castel来完成jobtype的resolve.

AbpHangfireModule:完成常规的依赖注入配置和注入自定义的JobActivator

AbpHangfireConfigurationExtensions:通过UseHangFire方法完成HangfireBackgroundJobManager的注入。

在ABP中配置使用HangFire是很轻松的事。如下设置就可以了(要在PreInitialize中设置)

返回ABP源码分析系列文章目录

【转】ABP源码分析三十九:ABP.Hangfire相关推荐

  1. ABP源码分析三十:ABP.RedisCache

    ABP 通过StackExchange.Redis类库来操作Redis数据库. AbpRedisCacheModule:完成ABP.RedisCache模块的初始化(完成常规的依赖注入) AbpRed ...

  2. 【转】ABP源码分析三十:ABP.RedisCache

    ABP 通过StackExchange.Redis类库来操作Redis数据库. AbpRedisCacheModule:完成ABP.RedisCache模块的初始化(完成常规的依赖注入) AbpRed ...

  3. 【转】ABP源码分析三十八: ABP.Web.Api.OData

    如果对OData不熟悉的话可参考OData的初步认识一文以获取OData的一些初步知识. API.Odata 模块唯一用处就是提供了一个泛型版本的ODataController,实现了Controll ...

  4. ABP源码分析三十四:ABP.Web.Mvc

    ABP.Web.Mvc模块主要完成两个任务: 第一,通过自定义的AbpController抽象基类封装ABP核心模块中的功能,以便利的方式提供给我们创建controller使用. 第二,一些常见的基础 ...

  5. 【转】ABP源码分析三十五:ABP中动态WebAPI原理解析

    动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类就可以对外提供WebAPI的功能, ...

  6. 【转】ABP源码分析三十四:ABP.Web.Mvc

    ABP.Web.Mvc模块主要完成两个任务: 第一,通过自定义的AbpController抽象基类封装ABP核心模块中的功能,以便利的方式提供给我们创建controller使用. 第二,一些常见的基础 ...

  7. 【转】ABP源码分析二十九:ABP.MongoDb

    这个Module通过建立一个MongoDbRepositoryBase<TEntity> 基类,封装了对MongoDb数据库的操作. 这个module通过引用MongoDB.Driver, ...

  8. 【转】ABP源码分析三十六:ABP.Web.Api

    这里的内容和ABP 动态webapi没有关系.除了动态webapi,ABP必然是支持使用传统的webApi.ABP.Web.Api模块中实现了一些同意的基础功能,以方便我们创建和使用asp.net w ...

  9. 【转】ABP源码分析三十二:ABP.SignalR

    Realtime Realtime是ABP底层模块提供的功能,用于管理在线用户.它是使用SignalR实现给在线用户发送通知的功能的前提 IOnlineClient/OnlineClient: 封装在 ...

最新文章

  1. linux设置账号权限设置,Linux账号管理与ACL权限设置
  2. Subversion 1.5 安装配置指南
  3. 安装MATLAB R2012B遇到问题(需要继续安装以下一个或多个产品: MATLAB 8.0 (不可用) 您必须选择已至少安装这些),已决解!...
  4. sql2005中一个xml聚合的例子
  5. 北邮有高考日语学计算机专业的吗,学计算机去北邮好还是去成电好呢?没有最好只有最合适...
  6. html限制显示字数其余用...代替,html实现钝角效果;html实现限制一行字数的显示,超出的部分用省略号(....)来代替...
  7. 什么是Prettier?
  8. (STM32F103C8T6 + JDY-31 + L298N)——蓝牙小车
  9. python代码控制机械臂_Dobot 机械臂
  10. 兴华苑社区关爱空巢老人社会实践
  11. HR-Saas(二):登录模块
  12. 微信小程序父子页面间得数据传递(对象或者数组)
  13. 躲开混脸熟的车型,一文带你去看2019上海车展里的新面孔
  14. Excel对比Python实现方差分析
  15. 动物棋制作(C语言)
  16. 腾讯官方披露,TDSQL十年自主可控之路(附PDF)
  17. 黑马在线教育数仓实战7
  18. TIOBE 8 月编程语言排行榜:没有一门语言能比得上 Python
  19. 搜索趋势:微软必应新版集成AI和实时搜索
  20. 如何在CSDN中发布博客

热门文章

  1. vs设置html的模板快
  2. 数组排序并找出元素索引--Where do I belong-FCC
  3. C#-interface
  4. 深入理解javascript函数参数
  5. linux上的那些查找的命令
  6. GSON解析JSON
  7. CSU 1259 bfs找最短路
  8. 318. Maximum Product of Word Lengths
  9. [Leetcode][第309题][JAVA][最佳买卖股票时机含冷冻期][动态规划][压缩空间]
  10. keeplive linux平台下,Linux下搭建keepalive+nginx