这篇文章介绍了.Net Core以windows服务方式部署,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言
netcore用了这么久,虽然多数都是部署在centos系统,但也有部署在windows上的情况。最省力的部署方式是发布后直接在发布目录打开cmd,运行dotnet命令。虽然很省力,但是保留一个命令窗口,如果需要同时部署多个程序的话,就会保留多个窗口,而且还不能叉掉,对强迫症(我这种)来说简直不能忍。。。。
所以更好的部署方式就是把程序以windows服务的方式部署,还可以设置自动启动,节省一点运维成本。
怎么做?
首先准备一个core程序,然后引入这个包:
再然后找到main入口:
public static void Main(string[] args)
{
var host = CreateWebHostBuilder(args).Build();
if (Debugger.IsAttached)
host.Run();
else
host.RunAsService();
}
Debugger.IsAttached的意思是:程序是否以debug模式启动,是的话返回true,否则false
这几行代码的意思就是:如果是debug模式,就还保持窗口启动,到了发布环境就以服务方式启动。
为什么呢?因为只以服务启动程序的话,debug启动会报错,这样写更方便。
就这?
当然不是。我们还需要在服务器搞些动作。
当我们把发布好的文件在服务器保存好以后,管理员身份打开cmd,执行这条命令:
sc create 你的服务名称 binPath= "\"C:\program files\dotnet\dotnet.exe\" \"程序发布目录\"" DisplayName= "你的服务名称" start= auto
(重点:binPath、DisplayName、start这三个参数的等号后面必须带一个空格)
然后就可以在服务列表里看到它了:
如果上面的操作都没问题,但服务就是跑不起来,有可能是SDK版本不对,下对版本就可以了。
最后贴上官方文档地址:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-2.1&tabs=visual-studio
到此这篇关于.Net Core以windows服务方式部署的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持得得之家。
本文标题为:.Net Core以windows服务方式部署
基础教程推荐
- winform把Office转成PDF文件 2023-06-14
- C#控制台实现飞行棋小游戏 2023-04-22
- ZooKeeper的安装及部署教程 2023-01-22
- C# 调用WebService的方法 2023-03-09
- 一个读写csv文件的C#类 2022-11-06
- C#类和结构详解 2023-05-30
- unity实现动态排行榜 2023-04-27
- C# windows语音识别与朗读实例 2023-04-27
- C# List实现行转列的通用方案 2022-11-02
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26