当前位置:首页 > 网站建设 > 正文内容

织梦源码安装方法(织梦源码修改方法)

网站建设1年前 (2023-08-21)438

前言:

定时任务调度问题,是一个老生常谈的问题。网上有许多定时任务调度的解决方案,对于我而言很早以前主要是使用Window计划和Window服务来做任务定时执行,然后就开始使用定时任务调度框架Quartz.Net。但是却一直没有上手过Hangfire这个自带后台任务调度面板,可以在后台手动执行任务的神奇的任务调度框架。前段时间终于开始对他下手了,通过在网上查阅了一些资料和查看了Hangfire在Github中的demo,终于在我自己的项目中用上了Hangfire。在该篇文章中主要简单介绍一下什么是Hangfire,Hangfire的基本特征与优点和分别使用MySQL,MS SQL Server作为存储使用。

一、Hangfire是什么:

Hangfire是一个开源的.NET任务调度框架,提供了内置集成化的控制台,可以直观明了的查看作业调度情况,并且Hangfire不需要依赖于单独的应用程序执行(如:windows服务,window计划)。并且支持持久性存储。

二、Hangfire使用条件:

Hangfire与特定的.NET应用程序类型无关。您可以在ASP.NET Web应用程序,非ASP.NET Web应用程序,控制台应用程序或Windows服务中使用它。以下是要求:

1.NET Framework 4.5

2.永久存储(Hangfire将后台作业和其他与处理有关的信息保留在永久性存储器中,所以需要存储库来存储如:MS SQL Server,Redis,MySQL,PostgreSql等)

3.Newtonsoft.Json库≥5.0.1

Hangfire与特定的.NET应用程序类型无关。您可以在ASP.NET Web应用程序,非ASP.NET Web应用程序,控制台应用程序或Windows服务中使用它。以下是要求:

1.NET Framework 4.5

2.永久存储(Hangfire将后台作业和其他与处理有关的信息保留在永久性存储器中,所以需要存储库来存储如:MS SQL Server,Redis,MySQL,PostgreSql等)

3.Newtonsoft.Json库≥5.0.1

通过官网中的一张图片便可知道它是一个多么优秀的任务调度框架,如下图所示:

展开全文

四、Hangfire安装和使用: 在NuGet上有关于Hangfire的 一系列软件包:

详情地址:https://www.nuget.org/packages?q=Hangfire

通过在程序包管理控制台中输入安装命令安装Hangfire所需NuGet包: 使用MS SQL Server作为存储时我们需要安装的NuGet:

在ASP.NET 应用程序下使用Hangfire安装:

在控制台应用程序或者window server中处理作业:

注意,在控制台应用程序或者window server中不推荐直接安装:Install-Package Hangfire ,因为它只是一个快速启动软件包,并包含您可能不需要的依赖项(例如,Microsoft.Owin.Host.SystemWeb等无关依赖项)。

使用MySQL作为存储时我们需要安装的NuGet:

在ASP.NET 应用程序下使用Hangfire安装:

我们还需要安装一个MySql存储(Hangfire.MySqlStorage)的拓展,注意因为Hangfire本身是不支持MySQL存储的,这是名为: Arnoldas Gudas作者拓展的:

Nuget地址:https://www.nuget.org/packages/Hangfire.MySqlStorage/

安装命令:

注意:因为我的项目是.NET Framework,Version=v4.5.1版本的,所以只能安装1.0.7版本的,大家看需求而定

当我们要使用(宿主)IIS托管ASP.NET应用程序时,我们还需要安装:

添加和配置OWIN Startup.cs,及其连接对应的存储数据库: 添加OWIN Startup.cs

这里是当你的项目中不存在Startup.cs时才需要执行添加的操作!

什么是OWIN Startup.cs:

简单概述:是.NET 平台开放的web接口,Startup则是.Net与web通讯管道,起到转发,沟通的作用。

在Startup.cs中连接需要使用的存储库:

Web.config数据库连接配置:

1.MS SQL Server中:

2.MySQL中:

运行程序,访问调度控制面板:

当我们已经完成了上面的相关配置后,且程序能够正常无bug的运行时,我们的Hangfire Dashboard(仪表盘)在我们的本地就可以正常访问了(Hangfire仪表盘默认只支持本地访问),假如需要远程可访问的话我们还需要做对应的配置授权操作!  

运行成功,查看数据库中是否生成了与Hangfire相关的表:

首次运行成功后,打开数据库可以看到Hangfire已经自动为我们创建了定时任务的一些定时任务列表,定时队列,服务,状态等相关的数据表(展现了Hangfire作用的持久化特性),如下图所示:

a.MS SQL Server中生成的表:

b.MySQL中生成的表:

访问调度控制面板:

本地访问方式:https://localhost:端口号/hangfire/

调度控制面板效果图:

后台常用任务调度创建和使用:

注意:WriteLog是自己封装的一个通用记录日志的方法!

//延迟任务执行:不是马上调用方法,而是设定一个未来时间点再来执行,延迟作业仅执行一次varjobId = BackgroundJob.Schedule(=WriteLog( "一天后的延迟任务执行了!"),TimeSpan .FromDays( 1)); //一天后执行该任务

//循环任务执行:一行代码添加重复执行的任务,其内置了常见的时间循环模式,也可基于CRON表达式来设定复杂的模式。【用的比较的多】RecurringJob.AddOrUpdate( = WriteLog( "每分钟执行任务!"), Cron.Minutely); //注意最小单位是分钟

//延续性任务执行:类似于.NET中的Task,可以在第一个任务执行完之后紧接着再次执行另外的任务BackgroundJob.ContinueWith(jobId, = WriteLog( "连续任务!"));

总结:

通过本次项目实践的确让我感受到了Hangfire的魅力所在,真的可以说是上手简单,开箱即用的一个任务调度框架。并且该框架做的最好的是,官方文档详细,并且还提供了完整的demo示例。最后要为Hangfire的作者点赞!

Hangfire相关使用学习资料:

官网地址:https://www.hangfire.io/

GitHub源码:https://github.com/HangfireIO/Hangfire

中文文档:https://www.bookstack.cn/read/Hangfire-zh-official/README.md

GitHub使用示例源码:https://github.com/HangfireIO/Hangfire.Samples(包括控制台应用程序,window服务,ASP.NET MVC,WebForm)

Hangfire使用文章汇总:https://www.bbsmax.com/R/xl56E0nrJr/

织梦源码安装方法(织梦源码修改方法)

了解作者获取更多学习资料

加入DotNetGuide技术交流群

程序员常用的开发工具软件推荐

C#/.NET/.NET Core推荐学习书籍

C#/.NET/.NET Core学习视频汇总

C#/.NET/.NET Core优秀项目框架推荐

C#/.NET/.NET Core面试宝典(基础版)

C#/.NET/.NET Core学习、工作、面试指南

值得推荐的.NET/.NET Core ORM框架资源汇总

值得推荐的ASP.NET Core开发者学习指南路线图

学习是一个永无止境的过程,你知道的越多,你不知道的也会越多,在有限的时间内坚持每天多学一点,你一定能成为你想要成为的那个人。不积跬步无以至千里,不积小流无以成江河!!!

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://zspsrg.cn/post/52317.html

分享给朋友:

“织梦源码安装方法(织梦源码修改方法)” 的相关文章

网站seo优化课程(网站seo教学)

网站seo优化课程(网站seo教学)

本篇文章给大家谈谈网站seo优化课程,以及网站seo教学对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、SEO网站优化课程:SEO中TKD是什么意思 2、seo排名优化课程 3、优就业seo课程学多久 SEO网站优化课程:SEO中TKD是什么意思 SEO网站优化...

怎样制作网站(怎么做网址)

怎样制作网站(怎么做网址)

今天给各位分享怎样制作网站的知识,其中也会对怎么做网址进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、如何创建一个自己的网站 2、建立一个网站的基本步骤 3、自己如何制作一个网站 如何创建一个自己的网站 如何创建一个自己的网站:1、申请一个域名网站...

网站效果图制作(设计本网站效果图)

网站效果图制作(设计本网站效果图)

今天给各位分享网站效果图制作的知识,其中也会对设计本网站效果图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、想知道一个网站的首页效果图制作的基本过程 2、怎样在电脑上制作效果图? 3、网站上的3dmax360全景效果图怎么制作 4、网站首页效果...

长沙网站制作的简单介绍

长沙网站制作的简单介绍

本篇文章给大家谈谈长沙网站制作,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、长沙网站建设告诉您如何建立企业网站 2、网站建设需要多少钱? 3、长沙哪家公司能提供网站建设服务? 4、长沙网站建设制作页面要掌握哪些要点 5、长沙网站制作哪家公司好呀?...

毕业设计开题报告范文模板(毕业设计开题报告模板下载)

毕业设计开题报告范文模板(毕业设计开题报告模板下载)

今天给各位分享毕业设计开题报告范文模板的知识,其中也会对毕业设计开题报告模板下载进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、开题报告格式及范文 2、毕业设计开题报告最佳 3、毕业设计的开题报告该怎么写? 4、毕业设计开题报告怎么写? 开题报...

苹果和安卓一起记账的APP(安卓苹果互通的记账软件)

苹果和安卓一起记账的APP(安卓苹果互通的记账软件)

本篇文章给大家谈谈苹果和安卓一起记账的APP,以及安卓苹果互通的记账软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、安卓系统和苹果系统都能用的记账软件 2、叨叨记账安卓和苹果通用吗 3、iphone上有哪些记账软件? 安卓系统和苹果系统都能用的记账软件 安卓...