一、方案:使用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



成功!

二、参考

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


最新文章

  1. preg_match的isU代表什么意义
  2. Java--关于计算表达式中赋值的细节问题
  3. Posterior visual bounds retrieval for the Plato framework
  4. easyUI学习1
  5. bzoj 1196 二分+生成树判定
  6. bzoj2763: [JLOI2011]飞行路线 分层图+dij+heap
  7. jquery杂记之checkbox控制select置灰
  8. iOS--iOS7摄像头识别二维码功能
  9. Visual studio 能否定位打开文件在项目中的位置
  10. MySQL的C语言编程(一)
  11. Intersect交集
  12. 主机ping通虚拟机,虚拟机ping通主机解决方法(NAT模式)
  13. .net core使用Apollo做统一配置管理
  14. YAML快速入门
  15. 2162112375 Week04-面向对象设计与继承
  16. IOS多线程之线程的创建
  17. Unix环境高级编程(十九)终端I/O
  18. [PY3]——过滤数据——列表推导、filter()、itertools.compress()
  19. 解决Max retries exceeded with url的问题
  20. JMeter -----响应时间设置

热门文章

  1. 使用aop加解密http接口
  2. polygon()函数
  3. python模块成像库pillow
  4. Hadoop原生搭建
  5. 超好用的自带火焰图的 Java 性能分析工具 Async-profiler 了解一下
  6. 基于串口通信做my_printf时遇到的坑儿
  7. 关于简单的Excel多页签底层导出_电子底账导出为例(.net core)
  8. 使用 font-spider 对 webfont 网页字体进行压缩
  9. 小M的魔术表演
  10. MT9V034 全局快门体验总结