Hospedando o ASP.NET Core como serviço do Windows

No RC2, há um suporte para hospedagem de aplicativos nos Serviços do Windows. Tentei testá-lo em um projeto simples de API da Web (usando o .NET Framework 4.6.1).

Aqui está o meu código 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() {}
  }
}

Todas as outras coisas são basicamente do modelo .NET Core (embora eu tenha alterado a estrutura para net461 e adicionado algumas dependências no projeto.json).

Depois de publicá-lo comdotnet publish e criando o Serviço Windows comsc create Posso iniciar meu serviço com êxito, mas não consigo acessar nenhum dos meus controladores (as portas não estão listadas). Suponho que estou fazendo algo errado.

Então, acho que a questão principal é como criar APIs da web hospedadas e executá-las como serviço do Windows. Todas as soluções encontradas não funcionam após a atualização do RC2.

questionAnswers(7)

yourAnswerToTheQuestion