中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET Core 部署IIS無法啟動Hangfire該怎么辦

發布時間:2021-11-18 17:05:21 來源:億速云 閱讀:435 作者:柒染 欄目:大數據

本篇文章為大家展示了.NET Core 部署IIS無法啟動Hangfire該怎么辦,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

不知道是否有童鞋遇到過將.NET Core部署到IIS上時,但Hangfire無法啟動,自然而然也就導致作業無法良好運行的問題,本文給出兩個方案。

Hangfire部署IIS

相信有一部分童鞋在.NET Core上利用Hangfire來進行作業計劃,無論是一觸即發,還是延遲,抑或是周期Hangfire都能很好的支持,但是若將Hangfire應用于實際生產環境時,我們會發現存在很多問題,這些問題只有實踐過后才能體會到各種坑,但更深入的資料網上并沒有,只能靠經驗或依托源碼摸索。

配置什么的就不過多廢話,我們實現一個很簡單的Hangfire周期作業,然后將一段字符串輸入到文本上,如下周期作業:

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

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

緊接著我們打開IIS,創建.NET Core的無托管應用程序池,繼而創建網站,如下圖所示

.NET Core 部署IIS無法啟動Hangfire該怎么辦


然后我們就等啊等,等到花兒都快謝了,最終我們會發現過了幾分鐘后然鵝并沒有在如下圖文本中輸出字符串,你說氣人不

.NET Core 部署IIS無法啟動Hangfire該怎么辦

IIS啟動Hangfire方案

首先我們在web.config里打開.NET Core默認日志輸出,將該屬性設置為ture即可,如下圖所示

.NET Core 部署IIS無法啟動Hangfire該怎么辦

然后手動訪問下網站,接下來我們就可以看到日志文件

.NET Core 部署IIS無法啟動Hangfire該怎么辦

請客官稍等片刻,緊接著就啟動了Hangfire后臺服務并輸出了字符串到文件中

.NET Core 部署IIS無法啟動Hangfire該怎么辦

就是這樣,必須手動訪問下網站才能在IIS上啟動Hangfire,Hangfire本就作為后臺作業服務去啟動業務作業,現在反過來還得手動鞭策一下才能啟動,有意思。

那么究竟是什么原因導致必須手動訪問網站才能啟動Hangfire呢?

那我們是否可以理解為網站的啟動并不會使.NET Core程序啟動,換言之也就是不會執行startup,只有第一次訪問時才會執行呢?

那么我們是否通過什么方式使得網站啟動時,程序也進行了執行(即執行startup呢)

唯一能想到的則是.NET Core應用程序池,所以接下來我們嘗試,當我們發布程序到IIS時首先將.NET Core應用程序池停止,創建完網站后再將該程序池啟動,如下:

.NET Core 部署IIS無法啟動Hangfire該怎么辦

此時我們將發現在啟用了.NET Core默認文件日志輸出后,將會自動如上生成日志文件,從而很好的啟用了Hangire后臺作業服務。

綜上所述在IIS上想要啟動Hangfire作業服務,要么手動訪問下網站,要么在網站啟動后再啟動.NET Core無托管應用程序池。

上述內容就是.NET Core 部署IIS無法啟動Hangfire該怎么辦,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

招远市| 吐鲁番市| 日喀则市| 安仁县| 建始县| 淳安县| 三明市| 邢台市| 商洛市| 大石桥市| 玛纳斯县| 同心县| 江山市| 商南县| 龙岩市| 海丰县| 隆德县| 河西区| 华安县| 仙游县| 石门县| 浪卡子县| 丰台区| 孟津县| 简阳市| 定西市| 尚义县| 阿拉善右旗| 金寨县| 乌海市| 收藏| 临洮县| 廉江市| 绥棱县| 阿拉善左旗| 洛宁县| 车致| 汕头市| 睢宁县| 加查县| 鲁山县|