在window上部署Asp.netcore时,当不想使用IIS时,使用双击启动就会出现一个黑色的窗体,总感觉会不经意间给关闭掉。这时候就想如果可以生成winserver,这样就可以避免掉,也可以使崩溃后自动启动。
如何把Asp.NetCore部署成window服务呢?
第一种方式:按照官网上的方式:详情请看官方Windows 服务中托管 ASP.NET Core。
第二种方式:使用NSSM来把自宿式的Asp.netcore程序安装成windowserver
这里主要说第二种方式
1、将Asp.netcore发布成自宿式的应用程序。
具体步骤看官网文档:.NET Core 应用程序部署
2、下载NSSM。
链接:下载地址:http://www.nssm.cc/download
3、将NSSM解压到Asp.netcore应用程序的根目录如下图,NSSM也可以不在该应用程序的根目录下,我这里是放在一起的
4、cmd命令进入到Asp.netcore应用程序的根目录
5、执行安装命令nssm install ApiHostServer 进行服务安装,会弹出如下弹窗【ApiHostServer:是要显示的服务的名称和应用程序没关系】
6、点击Path后面的按钮设置启动应用程序的exe,即ApiHost.exe。点击Installservice后即可。就会发现winserver里面多了一个ApiHostServer的服务。启动即可使用。如下:
7、删除该服务
在cmd里面运行sc delete 【service name】即可,如图: