| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 4、Hangfire在AspNetCore中的使用(一) -> 正文阅读 |
|
[Java知识库]4、Hangfire在AspNetCore中的使用(一) |
网上搜索定时执行会有很多方案,最多的就是通过Timer去实现,然后还有通过兄台那个服务去实现,然后又继续搜了下相关内容,发现个好用的,能完美匹配我的需求的,就是hangfire去实现。 一、Timer实现
没什么可说的,需要设置时间间隔,然后每一个时间间隔触发事件去执行业务,代码不简洁,而且如果需求是每月一号去执行的话,这个就完犊子了,不好用, 二、windows服务 c#之添加window服务(定时任务) - 云+社区 - 腾讯云 上面这个是可以的,但是需要应用提供操作接口,去操作比如备份数据库等功能需求。 三、Hangfire 3.1 简介 Hangfire 是一款强大的.NET开源后台任务利器,无需Windows服务/任务计划程序,可以使用于ASP.NET 应用也可以使用于控制台。Hangfire 只需简单几句代码即可创建新的不同种类的任务。目前 Hangfire 已经支持.NET Core 。 GitHub:https://github.com/HangfireIO/Hangfire 官网:http://hangfire.io/? 相关文档介绍:http://docs.hangfire.io/en/latest/ 3.2 创建AspNetCore项目 此处笔者创建一个 Asp.NET Core Web API项目 3.3 安装 引入nuget包 Hangfire.AspNetCore 版本很多,我先安装这个? 3.4 配置 需要修改Startup类中的这两处 如果需要对数据库操作,需要添加对应的版本,笔者这里不需要对数据库操作,因此不用添加数据库版本,但是需要操作内存,因此在添加个Hangfire.MemoryStorage程序包 3.5 写配置
这是网上的代码,有两点问题 1、方法签名即将过时,后续发布的2.0版本将采用新的函数接口,具体的修改可根据提示来修改,很简单,这里不再赘述。 2、正常情况,使用Cron.Minutely()函数是表示每分钟执行一次,但是这里没有执行,需要再添加一个参数,TimeZoneInfo.Local
可以看到是定时执行的。 3.6?Cron 很灵活,想实现什么定时需求调用那个函数签名就可以,包括2.0版本后需要自己写表达式,具体的可以参考这篇文章【转】cron表达式详解 - 我只吃大碗 - 博客园 3.7 面板 地址:https://localhost:5001/hangfire 这里要根据自己的地址来,默认是hangfire,访问Hangfire的dashboard页面,看一下任务的执行情况。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:17:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |