ASPNETCORE托管/部署到WindowService的问题[服务显示正在启动]


上述代码是asp.net core web api 3.1,使用Topshelf框架构建windows服务。


安装服务后,服务功能运行正常,但服务状态一直处于“正在启动”,不能接收任何服务控制命令。

改动为异步方式后,服务可正常启动,且状态正常。期间使用输出日志的方式发现,在使用同步Run方法时,会阻塞程序执行,因此导致服务不能流转到下一个状态,且也不能接收任何控制命令。



总结:
使用异步RunAsync方法启动Host即可。异步RunAsync不会阻塞,且生命周期一直持续到程序关闭。
ASPNETCORE托管/部署到WindowService的问题[服务显示正在启动]的更多相关文章
- 使用Linux、Nginx和Github Actions托管部署ASP.NET Core 6.0应用
使用Linux.Nginx和Github Actions托管部署ASP.NET Core 6.0应用 前言 本文主要参考微软这篇文档而来 Host ASP.NET Core on Linux with ...
- Asp.NetCore轻松学-使用Supervisor进行托管部署
前言 上一篇文章 Asp.NetCore轻松学-部署到 Linux 进行托管 介绍了如何在 Centos 上部署自托管的 .NET Core 应用程序,接下来的内容就是介绍如何使用第三方任务管理程序来 ...
- NSSM部署.Net Core到 Windows 服务
NSSM 官网http://www.nssm.cc/,下载地址http://www.nssm.cc/download 简单点理解就是NSSM可以把一些exe程序封装成Windows服务,然后exe程序 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- vs自己主动生成的WebService配置文件在部署到IIs6后,服务调用失败的解决方法
近日.在项目中须要引用java公布的WebService,加入服务引用后,调用一切正常. 配置例如以下: <system.serviceModel> <bindings> &l ...
- IIS 中托管基于TCP绑定的WCF服务
IIS 中托管基于TCP绑定的WCF服务 一.创建一个基于TCP绑定的WCF服务 1.创建一个的简单的服务具体代码如下 服务契约定义 namespace SimpleService { // 注意: ...
- Microservices 微服务概念和优点 自治 弹性 级联故障 微服务的问题 CAP 分布式事务 修改一个服务并对其部署而不影响其他任务服务
https://en.wikipedia.org/wiki/Microservices https://zh.wikipedia.org/wiki/微服務 微服務 (Microservices) 是一 ...
- kubernetes实战篇之部署一个.net core微服务项目
目录 继上一篇kubernetes理论知识完结.本篇主要讲解基于nexus搭建一个docker镜像仓库(当然大家实践过程是不必完全跟着做,也可以搭建harbor仓库或者直接把镜像推送到docker h ...
- Kubernetes 部署集群内部DNS服务
Kubernetes 部署集群内部DNS服务 部署官网:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns/ ...
随机推荐
- JavaSE学习笔记(一)----java基础
本文来自博客园,作者:{张果},转载请注明原文链接:{JavaSE学习总结(一)--java基础} 一.Java是什么 Java 是由 Sun Microsystems 在 1995 年首先发布的编程 ...
- echarts饼图中间添加文字
加到option配置里 title: { text: "2673682", left: "center", top: "50%", text ...
- 《HelloTester》第2期
1.前言 饭前喝汤:如果你的月薪低于1万,不要总想着"新机会",而更加重要的是"练手艺".当你有了一定的手艺可以施展,机会自然存在! 读了之前的简历篇,我想你对 ...
- 说一下created和mounted区别
created: Vue实例vm能够访问data里的数据,和methods里的方法,即在模板渲染成html页面之前,可以通过ajax获取页面所需要的初始化数据,可以在这个生命周期函数操作. mount ...
- libcurl CURLOPT_WRITEFUNCTION 回调函数多次触发导致数据错乱的问题
记录一下自己犯的错误,回调函数本身就会提供数据大小,自己算反而出了问题. size_t Get_Receive_Data(void* buffer, size_t size, size_t nmemb ...
- 两张表合并到一个VO里面
@Overridepublic List<TbRemouldAirELe> findAll() { List<TbRemouldAirELe> list = new Array ...
- canvas实现屏幕截图
1.引入html2canvas.js 2.调用 2.1 <script src="html2canvas.js"></script> 2.2 定义一个div ...
- VUE学习-渲染函数
渲染函数 x-template 引入外面组件文件写法 <template> <h1 v-if="level === 1"> <slot>< ...
- VUE学习-:class & :style
:class & :style :class 键值对 <div id="app" v-bind:class="{ 'active': isActive }& ...
- vue element 日期范围选择器限制:只能选今天之前的时间 || 只能选今天之后的时间 || 选取今天往后三天内
举例:只能选今天或者今天之后的时间(如下图) <el-date-picker clearable v-model="form.limitTime" type="da ...