本文以创建的WebAPI项目为例子进行讲解(本人使用VS Code创建的项目)

1、使用VS Code创建WebAPI项目(项目名称自定义)

2、在创建的项目csproj项目文件中,确认是否存在运行时标识符,或将其添加到包含目标框架的 <PropertyGroup> 中

  1.  
    <PropertyGroup>
  2.  
    <TargetFramework>netcoreapp2.0</TargetFramework>
  3.  
    <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
  4.  
    </PropertyGroup>

3、为 Microsoft.AspNetCore.Hosting.WindowsServices 添加包引用

  1.  
    <ItemGroup>
  2.  
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
  3.  
    <PackageReference Include="Microsoft.AspNetCore.Hosting.WindowsServices" Version="2.1.0"/>
  4.  
    </ItemGroup>

4、Program文件 添加如下引用

  1.  
    using System.Diagnostics;
  2.  
    using Microsoft.AspNetCore.Hosting.WindowsServices;

将代码修改为

  1.  
    public static void Main(string[] args)
  2.  
    {
  3.  
    CreateWebHostBuilder(args).Build().RunAsService();
  4.  
    }
  5.  
     
  6.  
    public static IWebHostBuilder CreateWebHostBuilder(string[] args)
  7.  
    {
  8.  
    var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
  9.  
    var pathToContentRoot = Path.GetDirectoryName(pathToExe);
  10.  
     
  11.  
    return WebHost.CreateDefaultBuilder(args)
  12.  
    .UseContentRoot(pathToContentRoot)
  13.  
    .UseStartup<Startup>();
  14.  
    }

5、发布项目,使用sc命令创建服务

以管理员身份运行命令提示符,输入sc 相关命令——sc create <SERVICE_NAME> binPath= "<PATH_TO_SERVICE_EXECUTABLE>",binPath值是应用的可执行文件的路径,其中包括可执行文件的文件名

示例:

6、在服务中找到创建的服务,启动后,使用Postman 进行测试

--------------------- 本文来自 蓝晶之心 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/liwan09/article/details/81740090?utm_source=copy

.Net Core 项目在Windows服务中托管【转载】的更多相关文章

  1. 在 Windows 服务中托管 ASP.NET Core

    众所周知,ASP.NET Core采用了和传统ASP.NET不同的托管和HTTP处理方式,即把服务器和托管环境完全解耦.ASP.NET Core内置了两个HTTP服务器实现,一个是基于libuv实现的 ...

  2. windows 服务中托管asp.net core

    在windows 服务中托管asp.net core SDK 2.1.300 官方示例 1.添加运行标识符 xml <PropertyGroup> <TargetFramework& ...

  3. dotnet-warp && NSSM 部署 .net core 项目到 windows 服务

    如果你想将 .net core 项目以服务的形式部署到 windows 系统,希望本篇文章能够让你少走弯路 dotnet-warp 安装使用 dotnet-warp 是一个全局的.NET Core 工 ...

  4. 在Windows服务中托管 ASP.NET Core的坑

    按照官网教程 https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/windows-service?view=aspnetcore- ...

  5. 使用NSSM把.Net Core部署至 Windows 服务

    为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了.一般情况下,Asp.net Core会部署 ...

  6. .NET Core Generic Host Windows服务部署使用Topshelf

    此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注一下官方issue # ...

  7. NSSM把.Net Core部署至 Windows 服务

    NSSM把.Net Core部署至 Windows 服务 https://www.cnblogs.com/emrys5/p/nssm-netcore.html 为什么部署至Windows Servic ...

  8. 如何托管ASP.NET Core应用到Windows Service中

    (此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:正在构思一个中间件的设计,考虑是否既可以使用最新的技术,也可以兼顾传统的部署模式.所以有 ...

  9. 将WCF寄宿在托管的Windows服务中

    在我之前的一篇博客中我介绍了如何发布WCF服务并将该服务寄宿于IIS上,今天我再来介绍一种方式,就是将WCF服务寄宿在Windows服务中,这样做有什么好处呢?当然可以省去部署IIS等一系列的问题,能 ...

随机推荐

  1. JS中for in 与 for of

    // 数组var A=[4,6,74,67]; for in:拿到的是数组下标 for (let i in A){ console.log(i); } //0,1,2,3 for of:拿到的是数组元 ...

  2. python实现以application/json格式为请求体的http post请求

    接口传递数据格式类型为json格式,如下图抓包查看 Python实现脚本请求接口并以中文打印接口返回的数据 import json import requests url = "https: ...

  3. Mac安装brew(遇到的坑)

    1.安装方法: 网上都会有 命令行输入 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/i ...

  4. C# MVC 微信支付教程系列之公众号支付

    微信支付教程系列之公众号支付           今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后 ...

  5. 错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'hdjyproj.t_userinfo' do ...

  6. 打开本页N秒后跳转页面

    在head标签里面 <meta http-equiv="refresh" content="4;url=" />

  7. Android : 跟我学Binder --- (4) 驱动情景分析

    目录: Android : 跟我学Binder --- (1) 什么是Binder IPC?为何要使用Binder机制? Android : 跟我学Binder --- (2) AIDL分析及手动实现 ...

  8. C++ 抽象类与接口

    1. 抽象类  在面向对象编程中,抽象类是一种只能定义类型,不能生成对象的类,它是对一系列看上去不同,但是本质相同的具体概念的抽象.最典型的的抽象类就是”图形”,三角形.矩形.梯形都是图形,它们都具有 ...

  9. 20175224 2018-2019-2 《Java程序设计》第二周学习总结

    教材学习内容总结 本周对教材的第二第三章进行了学习,通过阅读教材,我发现java和c语言在相似的基础上还是有很多不同的地方,以下是我对这周学习知识的一些总结. 2.1 java标识符中的字母是区分大小 ...

  10. ionic1 添加百度地图插件 cordova-plugin-baidumaplocation

    cordova-plugin-baidumaplocation 这个插件返回的数据是 json 格式的  可以直接获取  android 和 ios 都可用 1.先去百度地图平台去创建应用  获取访问 ...