小编Mar*_*a P的帖子

将ASP.NET Core托管为Windows服务

当我在RC2中获得它时,支持在Windows服务中托管应用程序.我试图在一个简单的web api项目上测试它(使用.NET Framework 4.6.1).

这是我的Program.cs代码:

using System;
using System.IO;
using System.Linq;
using System.ServiceProcess;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Hosting.WindowsServices;

namespace WebApplication4
{
  public class Program : ServiceBase
  {
    public static void Main(string[] args)
    {
      if (args.Contains("--windows-service"))
      {
        Run(new Program());
        return;
      }

      var program = new Program();
      program.OnStart(null);
      Console.ReadLine();
      program.OnStop();
    }

    protected override void OnStart(string[] args)
    {
      var host = new WebHostBuilder()
      .UseKestrel()
      .UseContentRoot(Directory.GetCurrentDirectory())      
      .UseStartup<Startup>()
      .Build();

      host.RunAsService();
    }

    protected override void OnStop() {}
  }
}
Run Code Online (Sandbox Code Playgroud)

所有其他的东西基本上都来自.NET Core模板(虽然我将框架更改为net461并在project.json中添加了一些依赖项).

使用dotnet publish并创建Windows服务后,sc create …

c# windows-services .net-core asp.net-core

31
推荐指数
4
解决办法
5万
查看次数

标签 统计

.net-core ×1

asp.net-core ×1

c# ×1

windows-services ×1