成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

.NETCore部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦

本篇文章為大家展示了.NET Core 部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到崇左網(wǎng)站設(shè)計(jì)與崇左網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋崇左地區(qū)。

不知道是否有童鞋遇到過(guò)將.NET Core部署到IIS上時(shí),但Hangfire無(wú)法啟動(dòng),自然而然也就導(dǎo)致作業(yè)無(wú)法良好運(yùn)行的問(wèn)題,本文給出兩個(gè)方案。

Hangfire部署IIS

相信有一部分童鞋在.NET Core上利用Hangfire來(lái)進(jìn)行作業(yè)計(jì)劃,無(wú)論是一觸即發(fā),還是延遲,抑或是周期Hangfire都能很好的支持,但是若將Hangfire應(yīng)用于實(shí)際生產(chǎn)環(huán)境時(shí),我們會(huì)發(fā)現(xiàn)存在很多問(wèn)題,這些問(wèn)題只有實(shí)踐過(guò)后才能體會(huì)到各種坑,但更深入的資料網(wǎng)上并沒(méi)有,只能靠經(jīng)驗(yàn)或依托源碼摸索。

配置什么的就不過(guò)多廢話,我們實(shí)現(xiàn)一個(gè)很簡(jiǎn)單的Hangfire周期作業(yè),然后將一段字符串輸入到文本上,如下周期作業(yè):

RecurringJob.AddOrUpdate(
      () => File.WriteAllLines(Path.Combine(AppContext.BaseDirectory, "hangfire-demo.txt"), new[] { "Recurring" }),
      Cron.Minutely());

要將.NET Core寄宿在IIS運(yùn)行除了安裝必須的runtime外,還需安裝對(duì)應(yīng)版本的host-bundle模塊,這里以.NET Core 3.1為例,所以安裝名為【dotnet-hosting-3.1.0-win】的host-bundle,至于原因請(qǐng)自行察看官方文檔

緊接著我們打開(kāi)IIS,創(chuàng)建.NET Core的無(wú)托管應(yīng)用程序池,繼而創(chuàng)建網(wǎng)站,如下圖所示

.NET Core 部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦


然后我們就等啊等,等到花兒都快謝了,最終我們會(huì)發(fā)現(xiàn)過(guò)了幾分鐘后然鵝并沒(méi)有在如下圖文本中輸出字符串,你說(shuō)氣人不

.NET Core 部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦

IIS啟動(dòng)Hangfire方案

首先我們?cè)趙eb.config里打開(kāi).NET Core默認(rèn)日志輸出,將該屬性設(shè)置為ture即可,如下圖所示

.NET Core 部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦

然后手動(dòng)訪問(wèn)下網(wǎng)站,接下來(lái)我們就可以看到日志文件

.NET Core 部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦

請(qǐng)客官稍等片刻,緊接著就啟動(dòng)了Hangfire后臺(tái)服務(wù)并輸出了字符串到文件中

.NET Core 部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦

就是這樣,必須手動(dòng)訪問(wèn)下網(wǎng)站才能在IIS上啟動(dòng)Hangfire,Hangfire本就作為后臺(tái)作業(yè)服務(wù)去啟動(dòng)業(yè)務(wù)作業(yè),現(xiàn)在反過(guò)來(lái)還得手動(dòng)鞭策一下才能啟動(dòng),有意思。

那么究竟是什么原因?qū)е卤仨毷謩?dòng)訪問(wèn)網(wǎng)站才能啟動(dòng)Hangfire呢?

那我們是否可以理解為網(wǎng)站的啟動(dòng)并不會(huì)使.NET Core程序啟動(dòng),換言之也就是不會(huì)執(zhí)行startup,只有第一次訪問(wèn)時(shí)才會(huì)執(zhí)行呢?

那么我們是否通過(guò)什么方式使得網(wǎng)站啟動(dòng)時(shí),程序也進(jìn)行了執(zhí)行(即執(zhí)行startup呢)

唯一能想到的則是.NET Core應(yīng)用程序池,所以接下來(lái)我們嘗試,當(dāng)我們發(fā)布程序到IIS時(shí)首先將.NET Core應(yīng)用程序池停止,創(chuàng)建完網(wǎng)站后再將該程序池啟動(dòng),如下:

.NET Core 部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦

此時(shí)我們將發(fā)現(xiàn)在啟用了.NET Core默認(rèn)文件日志輸出后,將會(huì)自動(dòng)如上生成日志文件,從而很好的啟用了Hangire后臺(tái)作業(yè)服務(wù)。

綜上所述在IIS上想要啟動(dòng)Hangfire作業(yè)服務(wù),要么手動(dòng)訪問(wèn)下網(wǎng)站,要么在網(wǎng)站啟動(dòng)后再啟動(dòng).NET Core無(wú)托管應(yīng)用程序池。

上述內(nèi)容就是.NET Core 部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前名稱:.NETCore部署IIS無(wú)法啟動(dòng)Hangfire該怎么辦
當(dāng)前網(wǎng)址:http://jinyejixie.com/article4/gpseie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、虛擬主機(jī)、自適應(yīng)網(wǎng)站品牌網(wǎng)站制作、建站公司、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
达尔| 灵石县| 安徽省| 霍林郭勒市| 西乌| 驻马店市| 阿勒泰市| 巧家县| 定兴县| 贵南县| 伊吾县| 伊吾县| 洛阳市| 肥东县| 阿克陶县| 遂宁市| 夏邑县| 化德县| 山丹县| 都昌县| 邯郸县| 灌阳县| 奇台县| 正镶白旗| 会东县| 平陆县| 盖州市| 社旗县| 临沧市| 大关县| 酒泉市| 凤山市| 六枝特区| 手游| 双辽市| 柳林县| 碌曲县| 顺平县| 荥经县| 肇东市| 河北区|