本文以创建的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. CSS之user-select——设置标签中的文字是否可被复制

    详细介绍请参考 http://www.css88.com/book/css/properties/user-interface/user-select.htm CSS样式 user-select:no ...

  2. Windows下的Jupyter Notebook 安装与自定义启动(图文详解)

    不多说,直接上干货! 前期博客 Windows下的Python 3.6.1的下载与安装(适合32bits和64bits)(图文详解) 这是我自定义的Python 的安装目录 (D:\SoftWare\ ...

  3. 查看CPU温度

    因为不喜欢鲁大师,所以检索看有没有别的软件. 1)先是找到了aida64, 结果好像是要付费的,就没装. 2)因为自己也就想看cpu温度,于是寻思自己编程解决. 找到了下面的文章. 不但介绍了怎么编程 ...

  4. style.width与offsetWidth的区别

    1. style.width只能读取内联样式,offsetWidth都可以读取: 2. style.width读取的值带“px”单位,offsetWidth读取纯数值: 3. style.width获 ...

  5. babel-plugin-import配置babel按需引入antd模块,编译后报错.bezierEasingMixin()

    用create-react-app做项目的时候,同时引入了antd,为了实现按需加载antd模块,用到他们提供的  babel-plugin-import  ( 一个用于按需加载组件代码和样式的 ba ...

  6. [luogu P3648] [APIO2014]序列分割

    [luogu P3648] [APIO2014]序列分割 题目描述 小H最近迷上了一个分隔序列的游戏.在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列.为了得到k+1个子序 ...

  7. python --常用内置模块01

    1.简单了解模块         模块就是我们把装有特定功能的代码进行归类的解构,从代码编写的单位来看我们的程序 从小到大的顺序:一条代码< 语句块<代码块(函数,类) < 模块 我 ...

  8. angualrjs 文本框去掉表情

    html: <textarea ng-module="dataText"></textarea> js: <script> var BQ_RAN ...

  9. hibernate操作mysql插入修改中文出现乱码

    第一步:mysql的安装目录下配置文件my.ini里面的所有default-character-set改成default-character-set = utf8: 第二部:建立数据库时候字符集选项选

  10. Python2入门(1)

    一.基础语法1 - 输出语句 print "hello world",print默认输出换行,如果需要实现不换行需在变量末尾加上逗号,; 2 - python合法标识符 3 - 字 ...