本文以创建的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. NYOJ_1274_信道安全 -

    别琢磨中间过程,我也整不清楚,死记住模板吧 #include <stdio.h> #include <string.h> #include <queue> usin ...

  2. leecode第二百零六题(反转链表)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  3. MySQL连接java

    1.创建一个java project,建一个lib文件. 下载MySQL-connecor. 将下载好的文件打开,将mysql-connector-java-5.0.8-bin.jar文件粘贴复制到l ...

  4. Appium Desktop-Permission to start activity denied.

    可能情况1:activity查找错误 如何查找activity (1)确保手机和电脑已连接   adb devices (2)确保在你手机上,要测试的包启动着 (3)dos运行:adb shell d ...

  5. 基于TCAM 的高速路由查找

    摘要 随着路由器接口速率的提高,传统的软件路由查找机制已经不能满足要求.目前常见的硬件解决方案是采用TCAM实现关键词 TCAM,路由查找,最长前缀匹配. 1.引言 路由器转发IP 分组时,转发引擎需 ...

  6. mxnet ubuntu cpu安装

    sudo apt-get update sudo apt-get install -y build-essential Git libblas-dev libopencv-dev git clone ...

  7. pytoch word_language_model 代码阅读

    参考代码地址:https://github.com/pytorch/examples/tree/master/word_language_model /word_language_model/data ...

  8. spring boot的热加载(hotswap)

    官网上是叫hotswap,有人翻译成热部署,有人翻译成热加载 个人倾向于使用热加载在这个词,和谷歌翻译的热插拔相似. 关于个人理解 http://www.cnblogs.com/ptqueen/p/8 ...

  9. 如何设置IntelliJ IDEA智能感知支持Jsp内置对象

    一.问题: 在IntelliJ IDEA 新建jsp页面,想通过内置对象获取查询参数,比如:request.getParameter("id"),虽然手动输入后能够运行成功,但是智 ...

  10. 第6天【egrep、bash环境配置及脚本、vim编辑器】

    bash环境配置及脚本(02)_recv bash环境配置及脚本(02)_recv bash环境配置文件: 按生效范围划分,存在两类: 全局配置: /etc/profile /etc/bashrc 个 ...