zoukankan      html  css  js  c++  java
  • ABP文档

    文档目录

    本节内容:

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

    简介

    Hangfire是一个综合的后台作业管理器,可以在ABP里集成它替代默认的后台作业管理器,你可以为Hangfire使用相同的后台作业Api,因此你的代码不依赖于Hangfire,但是,如果你喜欢你可以直接使用Hangfire的API。

    集成

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

    [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中数据库连接的名称)。

    Hangfire需要在你的数据库创建结构的许可,因为它在首次运行时,创建它自己的结果和表。更多信息查看Hangfire文档

    Hangfire 面板授权

    Hangfire可以提供一个面板页面,实时显示所有后台作业的状态,你可以按它自己的文档描述那样配置,默认情况下,所有用户都可以使用这个面板页面,不需要授权,你可以用定义在Abp.HangFire包里的AbphangfireAuthorizationFilter类,把它集成到ABP的授权系统里。配置示例:

    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

  • 相关阅读:
    springboot(6)-热部署
    springboot(5)-文件上传
    ubuntu修改tomcat使用的jdk
    jstack使用
    HeapAnalyzer如何使用
    查看linux下tomcat使用的jdk版本
    ubuntu-tomcat安装目录
    vi命令
    211java-jdk安装记录
    linux的java安装目录
  • 原文地址:https://www.cnblogs.com/kid1412/p/6022237.html
Copyright © 2011-2022 走看看