.Net Core以windows服务方式部署

 更新时间:2022年01月17日 14:27:26   作者:老马-Max  
这篇文章介绍了.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服务方式部署的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#里SuperSocket库不能发现命令的原因

    C#里SuperSocket库不能发现命令的原因

    这篇文章主要介绍C#里SuperSocket库不能发现命令的原因,在使用SuperSocket来写服务器的过程中,这是一个非常快速的开发方式,也非常好用。不过学习的曲线有点高,在使用的过程中经常会遇到各种各样的问题。下面来看看学习举例说明吧
    2021-10-10
  • C#利用PrintDocument定制打印单据的小例子

    C#利用PrintDocument定制打印单据的小例子

    这篇文章主要给大家介绍了关于C#利用PrintDocument定制打印单据的小例子,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • C# 一个WCF简单实例

    C# 一个WCF简单实例

    以订票为例简单应用wcf程序,需要的朋友可以参考下
    2012-10-10
  • c#生成随机数示例分享

    c#生成随机数示例分享

    这篇文章主要介绍了c#生成随机数示例分享,需要的朋友可以参考下
    2014-03-03
  • C#使用linq对数组进行筛选排序的方法

    C#使用linq对数组进行筛选排序的方法

    这篇文章主要介绍了C#使用linq对数组进行筛选排序的方法,实例分析了C#实用linq扩展进行数组排序的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • Silverlight实现星星闪烁动画

    Silverlight实现星星闪烁动画

    这篇文章主要为大家详细介绍了Silverlight实现星星闪烁动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Unity Shader实现素描效果

    Unity Shader实现素描效果

    这篇文章主要为大家详细介绍了Unity Shader实现素描效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C#判断密码强度的方法

    C#判断密码强度的方法

    这篇文章主要介绍了C#判断密码强度的方法,较为详细的分析了C#判断密码强度的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • Unity3D如何获取时间戳或北京时间

    Unity3D如何获取时间戳或北京时间

    这篇文章主要为大家详细介绍了Unity3D获取时间戳或北京时间的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • C#双缓冲技术实例详解

    C#双缓冲技术实例详解

    这篇文章主要介绍了C#双缓冲技术,结合实例形式较为详细的分析了C#双缓冲的功能,实现技巧与相关注意事项,需要的朋友可以参考下
    2016-02-02

最新评论