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

相关文章

  • Unity实现简单场景分层移动

    Unity实现简单场景分层移动

    这篇文章主要为大家详细介绍了Unity实现简单场景分层移动,分为前景、场景、背景等,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • C#使用SQL DataAdapter数据适配代码实例

    C#使用SQL DataAdapter数据适配代码实例

    今天小编就为大家分享一篇关于C#使用SQL DataAdapter数据适配代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • C#实现的24点游戏实例详解

    C#实现的24点游戏实例详解

    这篇文章主要介绍了C#实现的24点游戏,较为详细的分析了24点游戏的算法原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • dotnet core链接mongodb代码实例

    dotnet core链接mongodb代码实例

    这篇文章主要介绍了dotnet core链接mongodb代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • C#动态执行批处理命令的方法

    C#动态执行批处理命令的方法

    这篇文章主要介绍了C#动态执行批处理命令的方法,可实现动态执行一系列控制台命令,并允许实时显示出来执行结果,需要的朋友可以参考下
    2014-11-11
  • c#后台输出javascript语句示例程序

    c#后台输出javascript语句示例程序

    一个很不错的b/s前台输出弹出对话框、后台写javascript语句、后台直接关闭web页面及一个集成了常用验证的通用类,十分的方便。代码如下
    2013-12-12
  • C# 注册表 操作实现代码

    C# 注册表 操作实现代码

    Windows 操作系统的注册表包含了很多有关计算机运行的配置方式,打开注册表我们可以看到注册表是按类似于目录的树结构组织的
    2009-07-07
  • 轻松学习C#的属性

    轻松学习C#的属性

    轻松学习C#的属性,对C#的属性感兴趣的朋友可以参考本篇文章,帮助大家更灵活的运用C#的属性
    2015-11-11
  • 获取字符串中的汉字拼音首字母

    获取字符串中的汉字拼音首字母

    获取字符串中的汉字拼音首字母...
    2007-03-03
  • C#实现Markdown内容转为Word或PDF

    C#实现Markdown内容转为Word或PDF

    Markdown作为一种轻量级的标记语言,因其简洁易读、语法清晰的特点被广大程序员和技术文档编写者所青睐,本文主要介绍了如何使用C#实现Markdown内容转为Word或PDF,需要的可以参考下
    2024-03-03

最新评论