首页 > 系统相关 >.Net Core以windows服务方式部署

.Net Core以windows服务方式部署

时间:2023-01-07 23:25:03浏览次数:59  
标签:Core 服务 windows 部署 host Net

.Net Core以windows服务方式部署
https://www.jb51.net/article/234855.htm

前言

netcore用了这么久,虽然多数都是部署在centos系统,但也有部署在windows上的情况。最省力的部署方式是发布后直接在发布目录打开cmd,运行dotnet命令。虽然很省力,但是保留一个命令窗口,如果需要同时部署多个程序的话,就会保留多个窗口,而且还不能叉掉,对强迫症(我这种)来说简直不能忍。。。。

所以更好的部署方式就是把程序以windows服务的方式部署,还可以设置自动启动,节省一点运维成本。

怎么做?

首先准备一个core程序,然后引入这个包:

再然后找到main入口:

?
12345678public 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服务方式部署的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

标签:Core,服务,windows,部署,host,Net
From: https://www.cnblogs.com/sunny3158/p/17033838.html

相关文章

  • 解读ASP.NET 5 & MVC6系列(5):Configuration配置信息管理 AddEnvironmentVariables()方法
    解读ASP.NET5&MVC6系列(5):Configuration配置信息管理https://blog.51cto.com/u_11990719/3113636在前面的章节中,我们知道新版的MVC程序抛弃了原来的web.config文件机制......
  • .Net Core之实现下载文件的实例
    .NetCore之实现下载文件的实例https://www.uoften.com/article/243258.html我是悠悠之家的博主动听的棒球,最近开发中收集的这篇文章主要介绍.NetCore之实现下载文件......
  • C#教程之asp.net core 下载文件,上传excel文件
    C#教程之asp.netcore下载文件,上传excel文件https://www.xin3721.com/Python/python13673.html 下载文件: 代码: 后端代码: publicIActionResultDownloadFile()......
  • score 开源工作负载指南
    score是基于容器的,开源,平台无关的,工作负载指南,基于一套命令可以解决k8s。docker-compose等各种环境的问题说明score是一个很不错的工具,我们以前包含了terraform,或者基......
  • .NET周报【1月第1期 2023-01-06】
    国内文章【开源】基于.net6+gtksharp实现的Linux下的图形界面串口调试工具https://www.cnblogs.com/flykai/p/17007554.html由于公司的上位机等硬件项目都是基于Linux操......
  • Dotnet程序的内存与垃圾回收
    都知道程序运行时的变量是放在内存里的,从我们学c++就知道有析构函数 malloc,还有学c#的时候天天什么垃圾回收GC像背八股文样的,但是这个内存究竟能分配多少没有人想......
  • 先学什么:Docker 还是 Kubernetes?
    介绍谈到容器化和编排,经常出现的两个工具是Docker和Kubernetes。两者都很强大,在行业中被广泛使用,但对于刚起步的人来说,可能很难知道先学哪一个。Docker是一个容器化......
  • .net core Kestrel宿主服务器自定义监听端口配置
    .netcoreKestrel宿主服务器自定义监听端口配置http://t.zoukankan.com/williamwsj-p-9645095.html.netcoreKestrel宿主服务器自定义监听端口配置在.netcore的w......
  • .Net Core 微服务实战 - 部署到 Kubernetes
    原文网址:https://blog.csdn.net/qq_33649351/article/details/120788480部署到Kubernetes源码及系列文章目录KubernetesKubernetes的优势环境搭建安装DockerDesktop安......
  • asp.net core部署时自定义监听端口,提高部署的灵活性
    asp.netcore部署时自定义监听端口,提高部署的灵活性原文连接:http://www.manongjc.com/detail/51-deiojnabsarikgh.html用的是命令参数的方式,简单写的,代码很low,不喜勿喷!......