Подтвердить что ты не робот

Можно ли самостоятельно разместить основное приложение ASP.NET без IIS?

У меня есть полнофункциональное приложение ASP.NET MVC (.NET Core, ASP.NET Core), которое прекрасно работает в Visual Studio (которая использует IISExpress).

Теперь я хотел бы иметь консольное приложение, которое принимает приложение ASP.NET Core и размещает его (сам хостинг).

4b9b3361

Ответ 1

Можно ли самостоятельно разместить основное приложение ASP.NET без IIS?

Да. Фактически все приложения ASP.NET Core размещаются самостоятельно. Даже в производственной среде IIS/Nginx/Apache являются обратным прокси-сервером для автономного приложения.

В достаточно стандартном классе Program.cs вы можете увидеть самодостаточный хостинг. IISIntegration является необязательной - она необходима только в том случае, если вы хотите интегрироваться с IIS.

public class Program
{
    public static void Main(string[] args)
    {
        var config = new ConfigurationBuilder()
            .AddCommandLine(args)
            .AddEnvironmentVariables(prefix: "ASPNETCORE_")
            .Build();

        var host = new WebHostBuilder()
            .UseConfiguration(config)
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();

        host.Run();
    }
}

Ответ 2

Да, ASP.NET Core поддерживает Open Web Interface для .NET(OWIN), у вас есть два варианта размещения основного веб-приложения Asp.net:

  1. IIS

  2. Self-хост

Но веб-приложение с собственным хостом не может автоматически перезагружаться при загрузке и перезагрузке системы или в случае сбоя.

Ответ 3

Да

ASP.NET 5 полностью отделен от среды веб-сервера, на котором размещается приложение. ASP.NET 5 поддерживает хостинг в IIS и IIS Express, а также сценарии самообслуживания с использованием HTTP-серверов Kestrel и WebListener. Кроме того, разработчики и сторонние поставщики программного обеспечения могут создавать собственные серверы для размещения своих приложений ASP.NET 5.

Дополнительная информация: Документация ASP.NET - Серверы