Включить промежуточное ПО сжатия ответов на Kestrel, но не IIS в Startup.cs - PullRequest
0 голосов
/ 29 апреля 2020

В настоящее время мы оцениваем, нужно ли переносить наши Azure веб-приложения для запуска на Linux плане обслуживания приложений (в основном потому, что это дешевле, чем на Windows плане обслуживания). Мы обнаружили, что приложение работает на Kestrel, а не на IIS.

Одно из основных различий между ними заключается в том, что IIS обеспечивает сжатие ответов из коробки, а Kestrel - нет. Microsoft предоставляет Middleware Compression Compression , но я не знаю, как включить его только при работе на Kestrel и при использовании встроенного сжатия при запуске IIS.

Концептуально, я хотел бы иметь возможность написать что-то подобное в моем Startup.cs:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        if (IsKestrel())
            services.AddResponseCompression();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (IsKestrel())
            app.UseResponseCompression();
    }

    public bool IsKestrel()
    {
        // How to achieve this?
    }
}

Я видел Проверьте, является ли сервер хостинга IIS или Kestrel во время выполнения в качестве pnet core , но мне было интересно, есть ли лучший способ сделать это в классе Startup.cs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...