Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Варианты развертывания ASP.NET Core

Автор вопроса: user1340582Ответов: 3

Мы только начали использовать ASP.NET Core в своей разработке. Есть несколько открытых вопросов, по которым я не нашел полезных ресурсов. Каковы были бы лучшие практики или различия между перечисленными ниже, и все ли они действительны?

ASP.NET Core + .NET 4.6

1) В IIS

2) Автономно на OWIN

3) OWIN + IIS

ASP.NET Core + .NET Core:

1) В IIS (опубликовано)

2) Автономная Kestrel (среда разработки и тестирования)

3) Автономный обратный прокси-сервер Kestrel + IIS (контроль качества и продакшн.

Спасибо!

РЕДАКТИРОВАТЬ: мои варианты заголовка и вопроса были недействительными, поэтому я изменил их, чтобы отразить мое текущее понимание.

  • Я не уверен, есть ли у Asp.Net Core OWIN вообще. Afshar Mohebi 10.08.2016
  • Это так, что Asp.Net Core может работать на IIS или как автономный на Kestrel, или затем запускать Asp.Net Core на .Net 4.6 на IIS или как автономный на OWIN? user1340582 10.08.2016
  • @afsharm См. github.com/ymoradi/OwinAspNetCore Это пример приложения с использованием owin, asp.net web api odata, signalr и т. д. на конвейере ASP.NET Core с полной инфраструктурой .net, и это пример использования nancy на ядре asp.net и ядре .net с использованием конвейера owin. hanselman.com/blog/ ASP.NET Core не зависит от конвейера и сервера. Yaser Moradi 01.10.2016
  • @LexLi Ваш комментарий явно неверен, ASP.NET Core не зависит от конвейера и сервера, вы можете использовать конвейер Owin и серверы owin в ядре asp.net, как в ядре .net, так и в полной .Net, см. Мой предыдущий комментарий. Yaser Moradi 01.10.2016
  • @YasserMoradi Спасибо за вашу рекомендацию. Наличие odata с ядром asp.net (даже в полной структуре) очень полезно для нас. Afshar Mohebi 01.10.2016
  • @LexLi Owin является стандартным и имеет несколько реализаций. Вы можете использовать основной конвейер asp.net внутри конвейера owin, вы можете использовать конвейер owin внутри основного конвейера asp.net, и вы можете размещать основные приложения asp.net на хостах owin. Я не говорю о катане, это всего лишь реализация. См. owin.org Мое приложение может работать поверх ядра asp.net и helios, а я могу запускать его в службе Windows с прослушивателем хоста owin http, и я могу запускать его в ASP.NET и IIS с помощью катаны. Как вы говорите, что все дело только в промежуточном программном. Yaser Moradi 01.10.2016

owiniis

Ответы

Ответ 1 · Community

Kestrel также работает на полной платформе (.NET 4.5, 4.6). Так что для ядра ASP.NET обратный прокси-сервер Kestrel + - лучший вариант.

Ответ 2 · Kalten

Рекомендуется не открывать автономный сервер (пустельга) напрямую, а за (обратным) прокси. Как IIS, apache или nginx. См. docs.asp.net.

Ответ 3 · Yaser Moradi

Это список полных сценариев:

Для автоматического тестирования E2E вы можете использовать Owin Test Server или ASP.NET Core Test Server. Для разработки / контроля качества / производства вы можете использовать IIS / Kestrel, IIS / WebListener (предварительная версия и только для Windows, но имеет преимущества), IIS / Owin (Katana) , IIS / Nowin. Помните, что ASP.NET Core не зависит от сервера и конвейера, вы можете использовать основной конвейер asp.net и использовать конвейер owin внутри него, вы можете использовать конвейер owin и использовать основной конвейер asp.net внутри него. Вы даже можете разрабатывать серверы и конвейеры с нуля (было действительно полезно для меня в одном из моих приложений). Для начала я рекомендую вам использовать ядро ​​asp.net с полной структурой .net вместе с основными конвейерами owin и asp.net. Вы можете использовать функции ASP.NET Core, такие как ASP.NET Core MVC 1, и вы можете использовать ASP.NET Web API OData, Signalr, веб-хуки, сервер идентификации thinktecuture на основе owin бок о бок. И подождите, пока ASP.NET Core / .NET core реализует Signalr, thinktecuture identity server 4 и т. Д. Помните, что .NET Core не является жалобой на .NET Standards 2.0. После этого ваша миграция станет намного проще. Это образец рабочего приложения: https://github.com/ymoradi/OwinAspNetCore

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы