.NET Framework 4.7.2下 Hangfire 的集成
参考资料:
开源的.NET定时任务组件Hangfire解析:https://www.cnblogs.com/pengze0902/p/6583119.html
.Net Core 简单的Hangfire部署Demo:https://blog.csdn.net/weixin_43925876/article/details/89257885
.NET之Hangfire快速入门和使用:https://www.cnblogs.com/Can-daydayup/p/11610747.html
一,先引入必要的dll
Hangfire.Core 1.7.11.0
Hangfire.MySql.Core 2.2.5.0
Microsoft.Owin.Host.SystemWeb 4.1.0.0
Hangfire.Dashboard.Authorization 3.0.0.0 用于登录时的密码
Microsoft.AspNet.WebApi.OwinSelfHost 在控制台程序中好寄存 网页
二,添加 Startup.cs 文件
一定要引入 Microsoft.Owin.Host.SystemWeb ,否则添加的 Startup 文件不会执行
1,在Startup.cs文件中引入名称空间
using Microsoft.Owin;
using Owin;
using Hangfire;
using Hangfire.MySql.Core;
2,Web.config 文件中做数据库连接配置
<connectionStrings>
<!--Aceess数据库 providerName="System.Data.OleDb"
Oracle 数据库 providerName="System.Data.OracleClient"或者providerName="Oracle.DataAccess.Client"
SQLite数据库 providerName="System.Data.SQLite"
sql 数据库 providerName="System.Data.SqlClient"-->
<add name="coordinatordb" connectionString="Server=192.168.11.89;userid=root;password=Abc123;database=alibabacoordinatordb;Charset=utf8mb4;port=3306;Old Guids=true;AllowUserVariables=True;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
3,Startup.cs 人文件内容
using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;
using Hangfire;
using Hangfire.MySql.Core;
using Hangfire.Annotations;
using Hangfire.Client;
using Hangfire.Common;
using Hangfire.Dashboard.Owin;
using Hangfire.Dashboard.Pages;
using Hangfire.Dashboard.Resources;
using Hangfire.Logging.LogProviders;
using Hangfire.MySql;
using Hangfire.MySql.Core.JobQueue;
using Hangfire.Processing;
using Hangfire.Server;
using Hangfire.States;
using Hangfire.Storage.Monitoring; [assembly: OwinStartup(typeof(Coordinator.MvcWebAPI.Startup))] namespace Coordinator.MvcWebAPI
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// 有关如何配置应用程序的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkID=316888 //配置数据库连接
// 表前缀 TablePrefix = "hangfire"
// 数据库连接一定要加 AllowUserVariables=True;
// C# 连接 mySQL 出现 GUID 应包含带 4 个短划线的 32 位数 问题 在连接字符串中加入 Old Guids = true;
string coordinatordb = System.Configuration.ConfigurationManager.ConnectionStrings["coordinatordb"].ConnectionString;
GlobalConfiguration.Configuration.UseStorage(new MySqlStorage(coordinatordb, new MySqlStorageOptions() { TablePrefix = "hangfire" }));
app.UseHangfireDashboard(); //配置后台仪表盘
app.UseHangfireServer(); //开始使用Hangfire服务 }
}
}
然后启动项目。访问 https://localhost:44300/hangfire/ 其中,IP地址与端口按实际情况而定。
定时向应用程序发起请求,pingdom,防止IIS被回收。
.NET Framework 4.7.2下 Hangfire 的集成的更多相关文章
- ADO.NET Entity Framework 在哪些场景下使用?
在知乎回答了下,顺手转回来. Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的 ...
- Enity Framework已经是.NET下最主要的ORM了
Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的升华.切实地说,就是ORM让数 ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- Windows下的Objective-C集成开发环境(IDE)
Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...
- idea/eclipse下Maven工程集成web服务(tomcat、jetty)
idea/eclipse下Maven工程集成web服务 转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html 应用服务器最常用的一般有这哥仨: ...
- linux下安装lnmp集成环境
linux下安装lnmp集成环境 教程地址:https://www.cnblogs.com/peteremperor/p/6750204.html 必须要用root用户,否则权限不够无法安装 安装最新 ...
- .net framework MVC 下 Hangfire使用,时区,权限
安装 NuGet 上有几个可用的Hangfire 的软件包.如果在ASP.NET应用程序中安装HangFire,并使用Sql Server作为存储器,那么请在Package Manager Conso ...
- Zend Framework(一) windows8.1下配置zend framework1.12
windows8.1下配置zend framework1.12配置步骤: 1. 下载 zend framework1.12库 2. 创建zend frameworkproject 2 ...
- EF(Entity Framework)多对多关系下用LINQ实现"NOT IN"查询
这是今天在实际开发中遇到的一个问题,需求是查询未分类的博文列表(未加入任何分类的博文),之前是通过存储过程实现的,今天用EF实现了,在这篇博文中记录一下. 博文的实体类BlogPost是这样定义的: ...
- .NET Framework 项目多环境下配置文件web.config
解决jenkins自动构建发布的问题,统一从git/svn库中获取项目文件,根据不同配置编译发布到多个运行环境中. 转自:https://www.cnblogs.com/hugogoos/p/6426 ...
随机推荐
- Numpy数组变形和轴变换
数组变形(reshape)或轴转换(Transposing Arrays and Swapping Axes)后返回的是非副本视图,对于非副本视图的修改会使原来的数组也同时改变. In [1]: im ...
- Jenkins首次启动慢
场景描述启动Jenkins后,打开网站,发现一直卡在这个启动页面,慢,很慢,非常慢 解决方法 进入Jenkins的安装目录,找到"hudson.model.UpdateCenter.xml& ...
- 第十六篇:jQuery基础
一.jQuery和Dom的关系 http://jquery.cuishifeng.cn/ 模块,类库 DOM/BOM/JavaScript的类库: 二.jQuery选择器 1.查找元素 DOM: 10 ...
- k8s 深入篇———— 一些容器操作的原理[三]
前言 简单介绍一下一些容器的操作原理. 正文 docker exec 是怎么做到进入容器里的呢. 比如说: 这里有一个容器,我们可以exec 进去: docker exec -it b265 /bin ...
- 重新点亮linux 命令树————目录相关[三]
前言 简单介绍一些目录命令 正文 主要介绍三个命令 cd 路径切换 cd 这个命令用于切换当前目录的. 切换有三种形式. 以/开头的是绝对路径,比如/home. 以.开头的是相对路径,比如说./ser ...
- Flutter开发技巧集锦
flutter中单例的写法 class AccountManager { factory AccountManager() => _instance ??= AccountManager._() ...
- Fluid给数据弹性一双隐形的翅膀 (1) -- 自定义弹性伸缩
简介: 弹性伸缩作为Kubernetes的核心能力之一,但它一直是围绕这无状态的应用负载展开.而Fluid提供了分布式缓存的弹性伸缩能力,可以灵活扩充和收缩数据缓存. 它基于Runtime提供了缓存空 ...
- 阿里云力夺FewCLUE榜首!知识融入预训练+小样本学习的实战解析
简介: 7月8日,中文语言理解权威评测基准CLUE公开了中文小样本学习评测榜单最新结果,阿里云计算平台PAI团队携手达摩院智能对话与服务技术团队,在大模型和无参数限制模型双赛道总成绩第一名,决赛答辩总 ...
- [FAQ] 前端 点击事件或链接 如何打开两个外部窗口
点击链接支持 blank,但无法打开多个,考虑使用绑定 click 事件的方式. window.open 的采用需要有主动点击的情况,否则浏览器可能拦截. 如果是外部窗口,在点击时,优先使用 wind ...
- frp内网穿透器安装与介绍
1.NAT访问 2.FRP介绍 中文官方文档:https://gofrp.org/docs/ github:https://github.com/fatedier/frp/releases frp 采 ...