首页 技术交流 NETCore独立部署成Windows服务 正文

NETCore独立部署成Windows服务

发布日期:2023年12月17日 12:27        阅读次数:845

以NET6为例:

1.首先需要在netcore项目上安装Microsoft.Extensions.Hosting.WindowsServices包:

2.在Program的Main方法中:

  Host.CreateDefaultBuilder(args)
                .UseWindowsService()//启用Windows服务

 

3.发布程序,这里选择独立部署

4. 以管理员身份打开cmd.exe,输入以下代码创建Windows服务,AspNetCoreWindowsService为服务名可以随便命名,binPath为要生成的Windows服务的NETcore发布后程序的exe所在完整路径。

sc create AspNetCoreWindowsService binPath=E:\WebAppCore\bin\Release\net6.0\publish\WebAppCore.exe

 执行成功后,会提示

[SC] CreateService 成功

 如果想要删除该服务,首先需要在服务里关闭该服务,然后在cmd中输入

sc delete AspNetCoreWindowsService

   在实际处理中发现如果数据库连接用的是vs安装的自带的(LocalDB)\MSSQLLocalDB实例,安装成功的Windows服务运行后,网站可以正常运行,但是无法正常连接数据库,通过查看电脑的事件查看器,发现是无法正常连接到SqlServer数据库:

An unhandled exception has occurred while executing the request.

Exception: 
Microsoft.Data.SqlClient.SqlException (0x80131904): Login failed for user 'sa'.
   at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

  最后将数据库迁移到.也就是local实例上正常。                                                   

评论:

共 0 页 0 条记录,当前为第 1 页