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:\test\WebApplication1.exe" start= auto
命令中“app1”表示服务名称,“binpath”表示web应用发布后的exe的路径;“start”表示服务的启动方式;
5、安装成功后访问127.0.0.1:2810
成功!
二、参考
作者:willingtolove
出处:http://www.cnblogs.com/willingtolove/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。