因业务需要,最近搭建的定时任务必须跑在win服务器上,所以没得办法必须得把项目转为服务,以前我记得是需要第三方组件实现转换的。
现在NET6提供了解决方案,通过几行代码即可实现win服务。
1、首先参考官方文档
// 官方文档 https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-6.0&tabs=visual-studio // 网友相关提问 https://stackoverflow.com/questions/69124310/asp-net-core-net-6-preview-7-windows-service
2、然后参考我的
New-Service -Name {SERVICE NAME} -BinaryPathName "{EXE FILE PATH}" -Credential "{DOMAIN OR COMPUTER NAME\USER}" -Description "{DESCRIPTION}" -DisplayName "{DISPLAY NAME}" -StartupType Automatic {EXE PATH}:主机上应用程序文件夹的路径(例如,d:\myservice)。不要在路径中包含应用程序的可执行文件。不需要尾部斜杠。 {DOMAIN OR COMPUTER NAME\USER}:服务用户帐户(例如,Contoso\ServiceUser)。 // 注意 此项可以不填 {SERVICE NAME}:服务名称(例如,MyService)。 {EXE FILE PATH}:应用程序的可执行路径(例如,d:\myservice\myservice.exe)。包括带有扩展名的可执行文件的文件名。 {DESCRIPTION}:服务描述(例如,My sample service)。 {DISPLAY NAME}:服务显示名称(例如,My Service)。 // 1、创建命令 New-Service -Name MyService -BinaryPathName "D:\myservice\myservice.exe" -Description "My sample service" -DisplayName "My Service" -StartupType Automatic // 2、执行命令 Start-Service -Name MyService