ABP文档 - Hangfire 集成

文档目录html

 

本节内容:web

  • 简介
  • 集成
  • Hangfire 面板受权

 

简介数据库

Hangfire是一个综合的后台做业管理器,能够在ABP里集成它替代默认的后台做业管理器,你能够为Hangfire使用相同的后台做业Api,所以你的代码不依赖于Hangfire,可是,若是你喜欢你能够直接使用Hangfire的API。app

 

集成ide

首先, 安装Abp.HangFire nuget包到你的项目,而后能够为Hangfire安装任何存储,很是通用的是Sql Server存储(查看Hangfire.SqlServer nuget 包),在安装完这些包后,配置ABP,让它使用Hangfire,以下所示:spa

[DependsOn(typeof (AbpHangfireModule))] public class MyProjectWebModule : AbpModule
{
    public override void PreInitialize()
    {
        Configuration.BackgroundJobs.UseHangfire(configuration => { configuration.GlobalConfiguration.UseSqlServerStorage("Default"); });       
    }

    //...
}

咱们添加了AbphangfireModule,让它做为一个依赖,并使用Configuration.BackgroundJobs.Usehangfire方法启用和配置Hangfire(“Default”是web.config中数据库链接的名称)。code

Hangfire须要在你的数据库建立结构的许可,由于它在首次运行时,建立它本身的结果和表。更多信息查看Hangfire文档htm

 

Hangfire 面板受权中间件

Hangfire能够提供一个面板页面,实时显示全部后台做业的状态,你能够按它本身的文档描述那样配置,默认状况下,全部用户均可以使用这个面板页面,不须要受权,你能够用定义在Abp.HangFire包里的AbphangfireAuthorizationFilter类,把它集成到ABP的受权系统里。配置示例:blog

app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
    Authorization = new[] { new AbpHangfireAuthorizationFilter() }
});

若是用户已经登陆到应用,就会使用这个进行检查,若是你须要一个额外的许可,你能够把许可传入它的构造器:

app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
    Authorization = new[] { new AbpHangfireAuthorizationFilter("MyHangFireDashboardPermissionName") }
});

注意:UsehangifreDashboard应该在你的Startup类里的受权中间件运行后调用(多是在最后一行)。不然,受权会一直失败。

 

kid1412附:英文原文:http://www.aspnetboilerplate.com/Pages/Documents/Hangfire-Integration

相关文章
相关标签/搜索