服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - .Net Core以windows服务方式部署

.Net Core以windows服务方式部署

2022-12-20 14:57老马-Max C#

这篇文章介绍了.Net Core以windows服务方式部署,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

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

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

怎么做?

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

.Net Core以windows服务方式部署

再然后找到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这三个参数的等号后面必须带一个空格)

然后就可以在服务列表里看到它了:

.Net Core以windows服务方式部署

如果上面的操作都没问题,但服务就是跑不起来,有可能是SDK版本不对,下对版本就可以了。

最后贴上官方文档地址:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-2.1&tabs=visual-studio

到此这篇关于.Net Core以windows服务方式部署的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/muchengqingxin/p/13190189.html

延伸 · 阅读

精彩推荐
  • C#C# 9.0新特性——扩展方法GetEnumerator支持foreach循环

    C# 9.0新特性——扩展方法GetEnumerator支持foreach循环

    这篇文章主要介绍了C# 9.0新特性——扩展方法GetEnumerator支持foreach循环的相关资料,帮助大家更好的理解和学习c# 9.0,感兴趣的朋友可以了解下...

    markkang7412022-10-18
  • C#C#如何使用Task执行异步操作

    C#如何使用Task执行异步操作

    这篇文章主要介绍了C#如何使用Task执行异步操作,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下...

    HarryK9722022-11-16
  • C#C#调用7z实现文件的压缩与解压

    C#调用7z实现文件的压缩与解压

    这篇文章主要介绍了C#调用7z实现文件的压缩与解压,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...

    農碼一生5922022-10-20
  • C#Unity Shader相交算法实现简易防能量盾

    Unity Shader相交算法实现简易防能量盾

    这篇文章主要为大家详细介绍了Unity Shader相交算法实现简易防能量盾,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一...

    ZzEeRO11442022-09-05
  • C#Windows系统中使用C#编写蓝牙通信程序的简单实例

    Windows系统中使用C#编写蓝牙通信程序的简单实例

    这篇文章主要介绍了Windows系统中使用C#编写蓝牙通信程序的简单实例,文中的例子使用到了32feet.NET中的InTheHand.Net.Personal类库,需要的朋友可以参考下...

    hzy37745392021-11-18
  • C#CAD2008+VS2008开发ObjectARX加载失败问题(推荐)

    CAD2008+VS2008开发ObjectARX加载失败问题(推荐)

    这篇文章主要介绍了CAD2008+VS2008开发ObjectARX加载失败问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,...

    姬无华4162022-09-05
  • C#c# 继承快速入门

    c# 继承快速入门

    这篇文章主要介绍了c# 继承快速入门的相关资料,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下...

    熊泽-学习中的苦与乐5562022-11-08
  • C#C# 打印网页不显示页眉页脚的实现方法

    C# 打印网页不显示页眉页脚的实现方法

    这篇文章主要介绍了C# 打印网页不显示页眉页脚的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    森大科技11252022-08-16