Как OWIN Katana сравнивается с базовыми Docker-контейнерами ASP.NET - PullRequest
0 голосов
/ 03 мая 2018

Меня смущает план действий Microsoft. Использование OWIN заключается в том, чтобы отделить веб-приложение от IIS, и поэтому OWIN был разработан. Теперь IIS может разместить приложение, разработанное OWIN, или идея заключается в том, что любой веб-сервер может разместить приложение OWIN. На самом деле, приложение OWIN может быть размещено самостоятельно, то есть веб-сервер не нужен (сам по себе) - это простой веб-сервер.

Итак, теперь входит изображение ASP.NET Core с контейнерами Docker. Требуется ли для этого OWIN или это другое животное? Могут ли они сосуществовать с OWIN? Зачем использовать OWIN с Docker? Почему стоит выбрать Docker вместо OWIN. Много вопросов о правильном направлении и будущем веб-приложений с использованием технологий Microsoft. Возможно, я толстый и упускаю суть. Не стесняйся разжечь меня.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Открытый веб-интерфейс для .NET (OWIN) определяет абстракцию между веб-серверами .NET и веб-приложениями. OWIN - это просто спецификация .

Katana - это реализация Microsoft спецификации OWIN . Тем не менее, мы называем (OWIN) Middlware для краткости.

Независимо от того, используете ли вы приложение ASP.NET самостоятельно или запускаете за IIS через Основной модуль ASP.NET , запрос по-прежнему проходит через промежуточное ПО OWIN (оранжевое поле в жизненном цикле запроса MVC) .

Та же концепция применима и к контейнеру Docker.

enter image description here

0 голосов
/ 03 мая 2018

Во-первых, OWIN не был разработан Microsoft. Это была сторонняя спецификация, которую Microsoft купила. Прошло совсем немного времени, прежде чем Microsoft отклонилась от этой спецификации, хотя вы все еще МОЖЕТЕ создавать приложения на основе OWIN, стандартное промежуточное программное обеспечение Microsoft не является OWIN (хотя в некоторой степени оно основано на OWIN).

Во-вторых, контейнеры не имеют к этому никакого отношения. Контейнеры - это просто среда распространения и выполнения, которая изолирует приложение в собственное виртуальное пространство без дополнительных затрат на полную виртуализацию ОС. Это не имеет ничего общего с IIS, ASP.NET или OWIN.

Наконец, основной веб-сервер Microsoft .net называется Kestrel, который фактически может быть связан с IIS (без зависимостей IIS приложения) через модуль shim. Или это может быть автономный HTTP-сервер.

Кроме того, одной из основных целей OWIN было абстрагирование контекста HTTP от приложения, и с помощью ядра .net у них была возможность изменить HttpContext, чтобы он не зависел от IIS, поэтому эта потребность была значительно уменьшена. Чистое ядро. Все еще существует потребность в промежуточном программном обеспечении, поэтому команда разработала свое собственное подобное промежуточное программное обеспечение без некоторых ограничений OWIN.

...