zoukankan      html  css  js  c++  java
  • .Net Core定时调度hangfire:仪表板UI

    仪表盘就是hangfire的网页界面,有要执行的任务、执行情况、报错等后台的敏感信息。

    调用仪表盘的方法非常简单,在Starup文件中如下代码:

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        //..
         app.UseHangfireDashboard();
        //..
    }

    在浏览器中输入' 你的地址/hangfire '即可访问。

    为了安全仪表板只能本地访问,但是我们可以通过实现自己的IDashboardAuthorizationFilter接口来实现身份验证的访问,如下:

    public class MyAuthorizationFilter : IDashboardAuthorizationFilter
    {
        public bool Authorize(DashboardContext context)
        {
            var httpContext = context.GetHttpContext();
            // 允许所有经过身份验证的用户查看仪表板(存在潜在危险)。
            return httpContext.User.Identity.IsAuthenticated;
        }
    }

    或者通过使用 hangfire.dashboard.authorization 来快捷实现。

    因为仪表盘中存在删除任务等关键操作,默认是关闭的,可以通过设置 IsReadOnlyFunc属性的 Dashboardoption来设置,如下:

    app.UseHangfireDashboard("/hangfire", new DashboardOptions
    {
        IsReadOnlyFunc = (DashboardContext context) => true
    });

    默认情况下,UseHangfireDashboard方法将仪表板映射到/hangfire路径,我们可以自己修改访问路径:

    //映射到/jobs路径
    app.UseHangfireDashboard("/jobs");

    仪表盘的右上角存在一个返回站点的链接,我们可以对其进行更改:

    // 更改返回站点的链接地址
    var options = new DashboardOptions { AppPath = "http://your-app.net" };
    // 使“返回站点”链接适用于子文件夹应用程序
    var options = new DashboardOptions { AppPath = VirtualPathUtility.ToAbsolute("~") };
    app.UseHangfireDashboard("/hangfire", options);

    仪表盘不只是有一个,还可以存在多个,映射显示不同存储介质的存储信息:

    var storage1 = new SqlServerStorage("Connection1");
    var storage2 = new SqlServerStorage("Connection2");
    
    app.UseHangfireDashboard("/hangfire1", new DashboardOptions(), storage1);
    app.UseHangfireDashboard("/hangfire2", new DashboardOptions(), storage2);
  • 相关阅读:
    常用类练习题(用字符串常用类判断输入的一段话是否为回文)
    面向对象综合练习题(动物乐园)
    多态练习题(通过UML建模语言来实现饲养员喂养动物)
    UML建模语言使用的概述
    多态练习题(员工使用不同的交通工具回家)
    多态练习题(宠物医院治疗小动物的问题 ,多态的应用:向上类型传递)
    接口练习题(书信接口)
    接口练习题(实现接口功能拓展的两种方法)
    Oracle rman 各种恢复
    Oracle rman 全备份的一个小例子
  • 原文地址:https://www.cnblogs.com/xwc1996/p/14979140.html
Copyright © 2011-2022 走看看