В чем причина двух отдельных, но подобных серверов? Каковы различия? Могу ли я запустить оба в докере? Поддерживают ли обе такие же вещи, как и все типы аутентификации?
WebListener vs Kestrel: зачем выбирать один за другим? За и против?
Ответ 1
Kestrel vs Weblistener. Я выделил основные отличия ниже.
(Слова являются Microsoft, и я только отредактировал его для краткости и ясности. См. источники, связанные внизу).
WebListener - это только для Windows HTTP/Web Server для ядра ASP.NET, который позволяет вам показывать сервер непосредственно в Интернете без необходимо использовать IIS. WebListener построен поверх Http.Sys(той же самой зрелой технологии, которая также поддерживает HTTP-прослушиватель IIS), поскольку такая очень богатая функция и обеспечивает защиту от различных атак.
Kestrel, с другой стороны, является кросс-платформенным веб-сервером для ядра ASP.NET, который предназначен для за прокси-сервером. > (например, IIS или Nginx) и не должны быть развернуты непосредственно в Интернете. Кестрела относительно новая, а не имеет полного дополнения защиты от атак. Он также не является полнофункциональным как WebListener и имеет ограничения тайм-аута, ограничения по размеру и пользовательские ограничения.
По сути, выбор сводится к сценарию развертывания вашего веб-приложения.
Случаи использования веб-администратора:
Случаи использования канцелярских принадлежностей:
Источники:
- Docs.Microsoft.com Реализации веб-сервера в ядре ASP.NET
- Docs.Microsoft.com Реализация веб-сервера WebListener в ядре ASP.NET
Ответ 2
Следующее сравнение поможет вам выбрать, какой из них лучше
Ответ 3
В представленной здесь документации ASP.NET 5 (созданной Microsoft от 25 августа 2015 г.) приведена диаграмма, найденная в другом ответе (см. стр. 107 на страницах нижней правой страницы, но на стр. 111 в формате PDF): https://media.readthedocs.org/pdf/aspnet/theming/aspnet.pdf
Kestrel в целом имеет лучшую производительность, если вы использовали одно из следующих ниже:
- Отличная опция, если используется в сочетании с обратным прокси-сервером для приложений, работающих в Интернете
- Внутренние приложения, подключающиеся к другим внутренним приложениям в частной виртуальной сети (не подключенные к Интернету).
WebListener более безопасен, медленнее и имеет больше возможностей. Он используется в следующих случаях:
- Откройте приложение в Интернете, но не можете использовать IIS Требовать более высокую безопасность и выставлять сервер непосредственно в Интернет.
- Дополнительные функции: элемент списка, аутентификация Windows, совместное использование портов, HTTPS с SNI, HTTP/2 через TLS (Windows 10), прямая передача файлов, кеширование ответов