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

В настоящее время я пытаюсь найти способ создать настольное приложение, которое размещает окно браузера и использует JavaScript для связи с локальным ASP.NET Core Web API в качестве "бэкэнда":

enter image description here

все мои поиски приводят к предложению использовать веб-сервер IIS Express.

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

поскольку IIS Express требует административных разрешений для установки, это выходит за рамки для меня.

мой вопрос:

есть ли другой способ помимо использования IIS Express для запуска ASP.NET основной проект Web API?

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

изменить 1:

Я спросил несколько releated вопрос на рекомендации программного обеспечения SE.

2 ответов


уверен Пустельга будет хорошо работать для вас в этой ситуации. Это кросс-платформенный веб-сервер, который основан на libuv что означает, что это супер быстро. The официальный ориентиры показать, насколько он превосходит стандартные IIS.


добавить в ответ DavidG по.

Kestral-правильное решение, если вы хотите запустить ASP.Net без IIS.

однако для этого требуется открытый TCP-порт. Это означает, что при попытке привязать Kestral к порту 80, и пользователь установил IIS. Кестрал не сможет бежать.

вы можете обойти это с помощью катаной для привязки веб-сайта к подкаталогу в IIS. К сожалению, для этого часто требуется админ Права.

в целом, вы можете использовать любой сервер OWIN, который хотите.

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