Hangfire 应用程序作为 Windows 服务无法启动

问题描述 投票:0回答:1

我有一个 Hangfire 应用程序(.Net 8),我尝试将其作为 Windows 服务托管在 Windows 服务器中,但它无法启动。服务器已经托管了一些其他 HF 应用程序作为 Windows 服务,并且这些应用程序没有问题。

我认为问题出在我的应用程序的代码库上,并尝试了 this Github 存储库中的示例。该应用程序使用 SQL Lite 而不是 SQL Server 作为 Hangfire 服务的后端。

我使用以下命令创建了一个窗口服务,以在本地系统中运行示例 Hangfire 应用程序。

sc create "Hangfire Service - test4" binPath= "C:\Users\pall\Downloads\Hangfire.Storage.SQLite-master\Hangfire.Storage.SQLite-master\src\samples\WebSample\bin\Release\net8.0\WebSample.exe"

当我在本地系统中启动示例应用程序的服务时,我收到与服务器中相同的以下错误。

enter image description here

事件查看器显示超时错误。

A timeout was reached (30000 milliseconds) while waiting for the Hangfire Service - test4 service to connect.

但是,如果我直接运行应用程序(通过运行.exe),则没有问题。 我需要将此应用程序作为 Windows 服务运行,以便我可以在 Web 应用程序中查看 HF 仪表板。 我在这里做错了什么?

.net hangfire
1个回答
0
投票

Windows 服务通常在

LocalSystem, NetworkService
或特定用户帐户下运行。确保服务帐户对您的
SQLServer
具有必要的权限,或者更改服务帐户。 要更改服务帐户运行
service.msc
,请右键单击您的服务并选择属性,转到
log on
选项卡并选择
this account
,然后指定具有适当权限的用户。

© www.soinside.com 2019 - 2024. All rights reserved.