目录
一、方案:使用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
成功!