如何利用Topshelf把.NET Core Generic Host管理的应用程序部署为Windows服务

技术如何利用Topshelf把.NET Core Generic Host管理的应用程序部署为Windows服务本篇文章为大家展示了如何利用Topshelf把.NET Core Generic Host管理的应用程序部署

本文向您展示了如何使用Topshelf部署由管理的应用程序。NET核心通用主机即服务。内容简洁易懂,一定会让你大放异彩。希望通过这篇文章的详细介绍,你能有所收获。

官方文件只提供了《在 Windows 服务中托管 ASP.NET Core》的解决方案,而微软。aspnetcore . hosting . windowsservices类库可用于将Web应用程序部署为windows服务。然而,虽然ASP.NET核心是一个控制台程序,但它使用带有HTTP管道的网络主机来管理应用程序的生命周期。如果将其用作计划任务,将会有许多不必要的工作负载,例如占用端口和增加许多依赖性。

正式认识到这个问题后,在的2.1版本中添加了一个通用主机。NET Core,并剥离了原WebHost的Http管道相关的API。在源代码中可以发现,Web Host已经基于泛型Host实现。作为一个纯定时的任务程序,它是最好的合作伙伴。

但是,由于Generic Host本身非常简单,与其一起运行的程序设置在注册为Windows服务启动后会自动停止。花了很长时间才发现,在Windows上启动服务仍然没有在Linux上那么简单。

所以我尝试用Topshelf创建一个Windows服务,最后成功了。

00-1010首先,实现IHostLifetime接口来接管应用程序的生命周期。事实上,默认的ConsoleLifetime被一个空的实现所取代,这样生命周期可以在以后由Topshelf框架来管理。

如何利用Topshelf把.NET  Core  Generic  Host管理的应用程序部署为Windows服务

然后,实现IHostedService接口,并将后台任务逻辑写入StartAsync方法。见官方文件《在 ASP.NET Core 中使用托管服务实现后台任务》。本文通过向文件中写入文本来测试定时任务是否成功运行。

如何利用Topshelf把.NET  Core  Generic  Host管理的应用程序部署为Windows服务

构建通用主机,在ConfigureServices方法中注册TopshelfLifetime,注册托管服务FileWriterService,就可以完成通用主机的简单构建。当然,完整的项目还应该包括配置、日志等。最后,使用Topshelf接管通用主机并创建Windows服务。

如何利用Topshelf把.NET  Core  Generic  Host管理的应用程序部署为Windows服务

最后,发布应用程序并将其安装在Windows服务中。

以管理员权限打开终端并执行以下命令:

如何利用Topshelf把.NET  Core  Generic  Host管理的应用程序部署为Windows服务

所以这个Windows服务启动了!查看输出文件,可以看到定时写入成功,服务没有关闭~

如何利用Topshelf把.NET  Core  Generic  Host管理的应用程序部署为Windows服务

以上内容是如何使用Topshelf部署由管理的应用程序。NET核心通用主机作为窗口服务。你学到什么知识或技能了吗?如果你想学习更多的技能或丰富你的知识,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/102826.html

(0)

相关推荐

  • c语言中如何判断字符串常量(c语言中什么是正确的字符串常量)

    技术怎么解析C语言的常量和字符串怎么解析C语言的常量和字符串,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。常量种类C语言中,我们常使用的常量

    攻略 2021年12月13日
  • 幂的乘方50道计算题,初一解方程计算题有过程答案

    技术幂的乘方50道计算题,初一解方程计算题有过程答案1。某中学修整草场,如果让初一学生单独工作,需要7。5小时完成;如果让初二学生单独做,需要5小时完成。如果让初一幂的乘方50道计算题、初二学生一起工作1小时,再由初二学

    生活 2021年10月22日
  • 如何使用Eviews做辅助回归来检验模型是否存在多重共线性

    技术如何使用Eviews做辅助回归来检验模型是否存在多重共线性本篇文章为大家展示了如何使用Eviews做辅助回归来检验模型是否存在多重共线性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有

    攻略 2021年11月9日
  • 数学期望和方差公式,正态分布的数学期望和方差推导

    技术数学期望和方差公式,正态分布的数学期望和方差推导求期望数学期望和方差公式:ξ
    期望:Eξ=x1p1+x2p2+……+xnpn
    方差:s? 方差公式:s?1/n[(x1-x)?(x2-x)?……+(xn-x)瞉
    注:x

    生活 2021年10月23日
  • 轻量云服务器有什么优势

    技术轻量云服务器有什么优势随着现在对于云服务器的使用门槛不断降低,不少机房服务商都推出了自己的轻量云服务器,而相比云服务器,轻量云服务器的优势主要是入门简单,使用便捷,单击鼠标即可快速搭建云端环境或构建应用,开箱即用,那

    礼包 2021年12月10日
  • sql语句优化方法有哪些(sql优化常用面试题)

    技术SQL优化方法有哪些这篇文章主要讲解了“SQL优化方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL优化方法有哪些”吧!一、避免进行null判断 应

    攻略 2021年12月22日