hangfire 建立專案(二)

2021-08-17 02:42:21 字數 2171 閱讀 2211

由於 hangfire 在 asp.net 環境有不穩定因素,例如 iis 中應用程式池缺省會在閒時自動休眠、隔一段時間會自動重啟等問題,在對可用性要求高的場景就會凸顯這種不穩定。我認為更合理的方式是使用 windows service 來執行 hangfire,然後另開乙個**作為 hangfire 的操控面板。

(一)建立windows service 專案並引入hangfire

(二)引入hangfire

工具->nuget包管理器->程式包管理器控制台

install-package hangfire.core

install-package hangfire.mysqlstorage -version 1.0.5

注意:hangfire支援.netframework,version=v4.6及以上版本,所以建立專案時選好框架。

這裡我是用mysql作為hangfire的storage。hangfire 官方在免費版中只提供了 sqlserver 接入的支援,在收費版多乙個 redis。需要 mongodb、sqlserver 、postgresql、sqlite 等其他 storages 的可以自己尋找第三方的開源專案,這裡有乙個官方推薦的擴充套件清單,清單中列出了一些其他種類的 storages。

(三)初始化hangfire服務並新增任務

using hangfire;

using hangfire.mysql;

using hangfiremysql;

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.diagnostics;

using system.linq;

using system.serviceprocess;

using system.text;

using system.threading.tasks;

namespace hangfireservice

protected override void onstart(string args)

protected override void onstop()}}

(四)為該windows 服務新增安裝程式

在服務的設計檢視中右鍵,選擇新增的安裝程式

新增伺服器名稱,描述,starttype等

(五)使用visual studio工具安裝和解除安裝服務

1、用管理員方式開啟cmd

cd c:\windows\microsoft.net\framework\v4.0.30319
2、安裝命令。找到hangfire 服務的 exe目錄

installutil.exe e:\svn\hangfireservice\hangfireservice\bin\debug\hangfireservice.exe
3、解除安裝命令。

installutil.exe /u e:\svn\hangfireservice\hangfireservice\bin\debug\hangfireservice.exe
(六)檢視windows 服務安裝是否成功

我的電腦->右鍵(管理)->服務和應用程式 ->服務。找到生成的服務gyy-hangfire。右鍵啟動即可

hangfire 建立專案(四)

一 建立專案,引入hangfire。以建立的webapi專案為例,簡單實現了延遲任務 工具 nuget包管理器 程式包管理器控制台 plain view plain copy install package hangfire.core install package hangfire.mysqlst...

個人部落格二 建立專案

django是一種基於python的開源web框架,採用了mvc的框架模式。工作區 d userswork 1 建立虛擬環境 2 安裝django 1.11.12 本專案計畫使用此版本開發 3 建立django專案 4 啟動專案 cd blog 進入下專案檔案 預設 127.0.0.1 8000 啟...

個人部落格二 建立專案

django是一種基於python的開源web框架,採用了mvc的框架模式。工作區 d userswork 1 建立虛擬環境 2 安裝django 1.11.12 本專案計畫使用此版本開發 3 建立django專案 4 啟動專案 cd blog 進入下專案檔案 預設 127.0.0.1 8000 啟...