分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

DotNetCore 定时服务 HangFire

发布时间:2023-09-06 01:40责任编辑:赖小花关键词:暂无标签
# DotNetCore 定时服务 HangFire最近在写一个Asp.net core 的项目,其中有用到定时任务,一开始准备要用Quartz.net。毕竟在Java中和.net framework中都表现突出。但是看了一下Quartz.net 关于Asp.net core 的文档之后决定换一个定时任务框架,于是我选择了HangFire。开发工具:visual studio code环境:.net core 2.0①创建一个asp.net core mvc项目:在vs code打开一个空文件夹,然后用Ctrl+、(或点击上方的 查看?集成终端)打开 终端 输入:dotnet new mvc②安装HangFire 在 终端 输入:dotnet add package HangFire③打开Startup文件,导入依赖项:using HangFire;注意:这个定时框架需要使用数据库,如果你用的是mssql 就不要单独引数据库的包了,否则需要单独添加,比如dotnet add package Hangfire.Pro.Redis;④在ConfigureServices中添加数据库引擎```publicvoidConfigureServices(IServiceCollection services) ???????{ ???????????services.AddHangfire(r =>r.UseSqlServerStorage(@"Server=(localdb)\MSSQLLocalDB; Database=HangFire; Trusted\_Connection=True;")); ???????????services.AddMvc(); ???????}```⑤然后在Configure启动服务 启动框架 添加定时任务即添加app.UseHangfireServer();app.UseHangfireDashboard();RecurringJob.AddOrUpdate();publicvoidConfigure(IApplicationBuilder app, IHostingEnvironment env) ???????{ ???????????if (env.IsDevelopment()) ???????????{ ???????????????app.UseDeveloperExceptionPage(); ???????????} ???????????else ???????????{ ???????????????app.UseExceptionHandler("/Home/Error"); ???????????} ???????????app.UseHangfireServer(); ???????????app.UseHangfireDashboard(); ???????????//定时任务 ???????????RecurringJob.AddOrUpdate(() =>newCommon.Weather(), Cron.Daily); ???????????app.UseStaticFiles(); ???????????app.UseMvc(routes => ???????????{ ???????????????routes.MapRoute( ???????????????????name: "default", ???????????????????template: "{controller=Home}/{action=Index}/{id?}"); ???????????}); ???????}注释:Common是我的一个工具类,Weather是我需要定时执行的方法;Cron.Daily表是每天执行一次;另外定时任务执行方式有很多种,添加、延迟、重复等等 Cron表达式也多种多样任务执行方式: [http://docs.hangfire.io/en/latest/quick-start.html](http://docs.hangfire.io/en/latest/quick-start.html)Cron表达式: [https://en.wikipedia.org/wiki/Cron#CRON\_expression](https://en.wikipedia.org/wiki/Cron#CRON_expression)如果用vs code的话在调试之前千万不要执行 dotnet restore或dotnet build

DotNetCore 定时服务 HangFire

原文地址:https://www.cnblogs.com/hoyu/p/8378156.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved