.NET Core 部署IIS无法启动Hangfire该怎么办

技术.NET Core 部署IIS无法启动Hangfire该怎么办本篇文章为大家展示了.NET Core 部署IIS无法启动Hangfire该怎么办,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希

这篇文章告诉你什么时候该做什么。NET Core部署IIS,无法启动Hangfire。内容简洁易懂,一定会让你大放异彩。希望通过这篇文章的详细介绍,你能有所收获。

不知道是否有童鞋遇到过将.NET Core部署到IIS上时,但Hangfire无法启动,自然而然也就导致作业无法良好运行的问题,本文给出两个方案。

Hangfire部署IIS

我相信有些童鞋是用Hangfire来规划工作的。NET Core,无论是迫在眉睫的、延迟的还是周期性的Hangfire,都可以很好的支持。但是如果把Hangfire应用到实际的生产环境中,我们会发现有很多问题,只有经过实践才能实现,但是网上没有更深入的信息,只能靠经验或者依靠源代码去探索。

配置任何东西都是一派胡言。我们实现了一个非常简单的Hangfire周期性作业,然后在文本中输入一个字符串,比如下面的周期性作业:

递归作业。AddOrUpdate(

()=文件。写所有行(路径。组合(AppContext。BaseDirectory,’ hangfire-demo.txt ‘),new[]{ ‘ recursive ‘ }),

克朗。minute());

招待。NET Core在IIS中,除了安装必要的运行时,还需要安装相应版本的主机捆绑模块。拿着。NET Core 3.1为例,所以安装名为【dotnet-hosting-3.1.0-win】的主机捆绑包。原因请查看官方文件。

然后我们打开IIS,创建的非托管应用程序池。NET Core,然后创建网站,如下图所示。

.NET  Core  部署IIS无法启动Hangfire该怎么办

然后我们会等啊等,直到花都快枯萎了。最后,我们会发现几分钟后,鹅没有输出下面文本中的字符串。你觉得这很气人吗?

.NET  Core  部署IIS无法启动Hangfire该怎么办

IIS启动Hangfire方案

首先,我们打开的默认日志输出。NET Core,并将该属性设置为true,如下图所示。

.NET  Core  部署IIS无法启动Hangfire该怎么办

然后手动访问网站,然后我们可以看到日志文件。

.NET  Core  部署IIS无法启动Hangfire该怎么办

客官等了一会儿,然后启动了Hangfire后台服务,并将字符串输出到文件中。

.NET  Core  部署IIS无法启动Hangfire该怎么办

也就是说,您必须手动访问网站才能在IIS上启动Hangfire。Hangfire最初是作为后台作业服务来启动业务作业的,但现在必须手动催促才能启动。有意思。

那么为什么要手动访问网站才能启动Hangfire呢?

我们能理解网站的启动不会启动。NET Core程序,换句话说,启动不会执行,只会在网站第一次访问时执行?

那么,当网站启动时,我们用什么方式让程序执行(即执行启动)?

唯一能想到的是。NET Core应用程序池,所以接下来,我们尝试停止。NET Core应用程序池当我们将程序发布到IIS,然后在网站创建后启动它,如下所示:

.NET  Core  部署IIS无法启动Hangfire该怎么办

这时,我们会发现默认文件日志输出后的。NET Core启用后,日志文件会自动生成如上,从而很好地启用了Hangire后台作业服务。

总而言之,如果您想在IIS上启动Hangfire作业服务,您应该手动访问网站或启动。网站启动后的. NET Core非托管应用池。

以上内容是如果怎么办。NET Core部署IIS,无法启动Hangfire。你学到什么知识或技能了吗?如果你想学习更多的技能或丰富你的知识,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/102831.html

(0)

相关推荐

  • 中国标志性建筑,中国最著名的建筑有哪些

    技术中国标志性建筑,中国最著名的建筑有哪些中国有名的建筑有很多,如故宫、敦煌莫高窟,曲阜孔庙、孔林、孔府,武当山古建筑群,周口店北京人遗址,西安秦始皇陵及兵马俑坑,敦煌莫高窟,曲阜孔庙、孔林、孔府,武当山古建筑群,承德避

    生活 2021年10月27日
  • C++中默认操作怎么定义

    技术C++中默认操作怎么定义本篇内容主要讲解“C++中默认操作怎么定义”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++中默认操作怎么定义”吧!C.21:默认操作要定义就全

    攻略 2021年11月29日
  • Java 基础( 数组)

    技术Java 基础( 数组) Java 基础( 数组)数组数组(Array), 是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组的常见概念1.数组

    礼包 2021年11月29日
  • 小草怎么画,怎样画简笔画“冬虫夏草”

    技术小草怎么画,怎样画简笔画“冬虫夏草”方法小草怎么画:1、在白纸上用曲线画出冬虫夏草的轮廓。
    2、再用一条弯曲的曲线画出虫子的形态,这是一种冬天的形状。
    3、用曲线画出它的尾巴部分,这其实就像根须一样。
    4、再用小线条

    生活 2021年10月31日
  • 为什么oracle 10.2.0.5只会获取child#=1的shared pool latch

    技术为什么oracle 10.2.0.5只会获取child#=1的shared pool latch这篇文章主要介绍了为什么oracle 10.2.0.5只会获取child#=1的shared pool latch,具有

    攻略 2021年11月12日
  • BASE64处理文件

    技术BASE64处理文件 BASE64处理文件Base64:
    Base64是一种编码方式,基于64个ASCII字符来表示二进制数据,Base64将8个bit为一个单位的字节数据拆分为以6个bit为一个单

    礼包 2021年12月24日