• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

windows服务中托管asp.netcore

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在windows 服务中托管asp.net core

SDK 2.1.300

官方示例

1、添加运行标识符

<PropertyGroup>
   <TargetFramework>netcoreapp2.1</TargetFramework>
   <RuntimeIdentifier>win7-x64</RuntimeIdentifier>
 </PropertyGroup>

2、添加包引用 dotnet add package Microsoft.AspNetCore.Hosting.WindowsServices -v 2.1.0 -s https://www.nuget.org/api/v3

dotnet命令

包源

3、确认导入是否成功

 <ItemGroup>
   <PackageReference Include="Microsoft.AspNetCore.App" />
   <PackageReference Include="Microsoft.AspNetCore.Hosting.WindowsServices" Version="2.1.0" />
 </ItemGroup>

4、修改Program Main 函数

 public static void Main(string[] args)
{
     CreateWebHostBuilder(args).Build().RunAsService();
 }

public static IWebHostBuilder CreateWebHostBuilder(string[] args)
 {
    var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
    var pathToContentRoot = Path.GetDirectoryName(pathToExe);
    return WebHost.CreateDefaultBuilder(args)
            .UseKestrel()
            .UseUrls("http://*:5001", "http://*:5002")
            .ConfigureAppConfiguration((context, config) =>
            {
                // Configure the app here.
            })
            .UseContentRoot(pathToContentRoot)
            .UseStartup<Startup>();
    }

5、发布运行

dotnet publish -c Release -o "F:\winservices\mvcApp21"

6、使用sc.exe工具创建服务 此处使用系统原始DOS命令

发布根目录下:sc create mvcApp21 binPath= "F:\winservices\mvcApp21\mvcApp21.exe"

确保 binPath= 参数与其值之间存在空格

启动服务 sc start MyService
查看服务状态 sc query MyService
停止服务 sc stop MyService
删除服务 sc delete MyService

7、可能遇到的问题

8、.net core 部署服务其他方案

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

9、回顾.net 部署服务

使用Topshelf创建Windows 服务

wcf服务


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap