.Net Core + Angular - размещение приложения с использованием IIS и Self host вместе - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь разместить приложение в двух средах вместе.Один из них - iis, а другой - сам хозяин.В iis я размещаю приложение по следующему пути:

http://localhost/WebApplication14

В то время как на собственном хосте я размещаю приложение по следующему пути:

https://localhost:5001

Проблема в том, что для работы с IIS мне пришлось изменить команду Build в package.json:

"build ":" ng build --baseHref = / WebApplication14 / "

Отныне работает только IIS, а Self Host не

Я пытался настроить приложение на прослушиваниеаналогичный путь в режиме собственного хоста, но регулярно получаю сообщение об ошибке от Kestrel

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args)
            .UseUrls("http://*:5000", "http://localhost/WebApplication14")
            .Build()
            .Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
        .UseIISIntegration()
        .UseStartup<Startup>();
}

Как мне построить строки UseUrls, чтобы творить чудеса?

Конечно, пути, которые я упоминалтолько для примера.Фактически, одно и то же приложение должно работать на реальном сервере IIS и в автономной версии на автономном компьютере.

Я буду рад получить вашу помощь

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Может следующий файл program.cs вам поможет

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;

namespace LeaveManagementSystem
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
             .UseKestrel()
             .UseContentRoot(Directory.GetCurrentDirectory())
             .UseIISIntegration()
             .UseStartup<Startup>()
             .Build();

            host.Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>();
    }
}
0 голосов
/ 30 апреля 2019

Может быть, не точный ответ, который вы ищете, но две отдельные сборки?

package.json

.
.
.

"build": "ng build,
"buildProd": "ng build --base-href /WebApplication14/ --deploy-url /WebApplication14/"
.
.
.

npm run build или npm run buildProd

...