Как решить HTTP Ошибка 502.5 - сбой процесса, когда я использую Topshelf для создания службы Windows под asp.netcore? - PullRequest
0 голосов
/ 17 апреля 2019

Я создаю проект asp.netcore с Visual Studio 2017. И я устанавливаю TopShelf из Nuget и добавляю код в Program.Main () ниже:

 public static void Main(string[] args)
 {
     var rc = HostFactory.Run(x =>                                   
     {
         x.Service<MainService>(s =>                                   
         {
             s.ConstructUsing(name => new MainService(args));                
             s.WhenStarted(tc => tc.Start());                         
             s.WhenStopped(tc => tc.Stop());                          
         });
         x.RunAsLocalSystem();                                       

         x.SetDescription("ASP.NETCoreTest");                   
         x.SetDisplayName("ASP.NETCoreTest");                                  
         x.SetServiceName("ASP.NETCoreTest");                                  
     });                                                             

     var exitCode = (int)Convert.ChangeType(rc, rc.GetTypeCode());  
     Environment.ExitCode = exitCode;
 }

В MainService.cs:

public void Start()
{
    Task.Factory.StartNew(() => this.StartExecuting(), TaskCreationOptions.LongRunning);
}
public void StartExecuting()
{
    CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();

Stratup.cs по умолчанию.

Затем я запускаю IIS Express, и он может работать, показывая как (хотя это немного странно) (https://localhost:44345/):

enter image description here

Затем я добавляю RuntimeIdentifiers win7-x64 в PropertyGroup и публикую приложение в CMD:

dotnet publish -c Release -r win7-x64

Наконец, я устанавливаю ASP.NETCoreTest.exe и запускаюASP.NETCoreTest.exe, но он отображается как (https://localhost:44345/): enter image description here

В управлении событиями, он говорит мне об ошибке: enter image description here

Что мне делать? Пожалуйста, помогите мне, спасибо!

Обновление: если я выхожу из IIS Express, он показывает, что не может подключиться к этому сайту. Возможно, сайт следует открыть другим способом (Не https://localhost:44345/)?

...