. net core 3.1 Хостинг веб-API как Windows Служба не отображает страницы - PullRequest
2 голосов
/ 13 июля 2020

Я пытаюсь разместить службу windows 3.1 как службу windows. Однако я продолжаю получать страницу с сообщением «Этот сайт недоступен»

Если я запускаю приложение, развернутое в IIS, все работает отлично.

. net Core имеет angular 8, а также клиентское приложение.

Program.CS

public static void Main(string[] args)
{
    CreateHostBuilder(args).Build().Run();
}

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        }).ConfigureWebHost(config =>
        {
            config.UseUrls("http://*:9095/");
        }).UseWindowsService();

Startup.CS

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews();
    // In production, the Angular files will be served from this directory
    services.AddSpaStaticFiles(configuration =>
    {
        configuration.RootPath = "ClientApp/dist";
    });
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Error");
    }

    app.UseStaticFiles();
    if (!env.IsDevelopment())
    {
        app.UseSpaStaticFiles();
    }

    app.UseRouting();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller}/{action=Index}/{id?}");
    });

    app.UseSpa(spa =>
    {
        
        spa.Options.SourcePath = "ClientApp";

        if (env.IsDevelopment())
        {
            spa.UseAngularCliServer(npmScript: "start");
        }
    });
}

И я смог опубликовать sh проект, создать сервис windows и запустить его.

enter image description here

Command used to create the Service:

**sc create MyWinService binPath="D:\MyWinService\bin\Release\netcoreapp3.1\win-x64\MyWinService .exe"

[SC] CreateService SUCCESS**

And Started the service from msc.service

After that accessing the URL : http://localhost:9095/ gives me no result

введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 23 июля 2020

Добавьте правило в брандмауэр, чтобы разрешить доступ к этой службе через указанный порт.

0 голосов
/ 22 июля 2020

Вы устанавливаете неправильный EXE-файл

sc create MyWinService binPath="D:\MyWinService\bin\Release\netcoreapp3.1\win-x64\MyWinService.exe

Он должен быть

sc create MyWinService binPath="D:\MyWinService\bin\Release\netcoreapp3.1\publish\MyWinService.exe

D: \ MyWinService \ bin \ Release \ netcoreapp3.1 \ win-x64 не содержит папка ClientApp

...