asp.net core web应用以windows服务的方式安装运行


一、方案:使用Microsoft.Extensions.Hosting.WindowsServices实现;

1、在web项目中使用nuget安装Microsoft.Extensions.Hosting.WindowsServices;

在这里插入图片描述

2、在web应用的program.cs文件中,修改代码如下:

代码中将端口设置为了:2810;

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args)
        {
            var host = Host.CreateDefaultBuilder(args);
            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                host = host.UseWindowsService();
            }
            return host.ConfigureWebHostDefaults(webBuilder =>
            {
                var port=2810;//设置服务端口
                webBuilder.ConfigureKestrel(serverOptions =>
                {
                    serverOptions.Listen(IPAddress.Any, port);
                    serverOptions.Limits.MaxRequestBodySize = null;
                });
                webBuilder.UseStartup<Startup>();
            });
        }
    }

3、发布web项目:

在这里插入图片描述

4、使用sc命令安装服务

sc create app1 binpath= "D:	estWebApplication1.exe" start= auto

命令中“app1”表示服务名称,“binpath”表示web应用发布后的exe的路径;“start”表示服务的启动方式;

5、安装成功后访问127.0.0.1:2810

在这里插入图片描述
成功!

二、参考

https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-3.0&tabs=visual-studio


原文地址:https://www.cnblogs.com/willingtolove/p/11918557.html