Я прочитал много статей о проектах OWIN и Katana, но я не мог получить полную картину этого.
Для обычного веб-разработчика, который использует ASP.NET:
- Что именно OWIN и какие проблемы он решает (простыми словами). Какое отношение это имеет к IIS?
- OWIN заменяет IIS? если нет, то в каких ситуациях OWIN лучше всего подходит?
- Как OWIN может помочь мне в моих ежедневных рабочих проектах?
- Как OWIN может помочь мне в проектах по самосовершенствованию?
Ответы:
Что касается комментария выше, OWIN не является основой. OWIN - это спецификация того, как должны создаваться веб-серверы и веб-приложения, чтобы разделить их и разрешить перемещение приложений ASP.NET в среды, которые ранее не поддерживались.
До OWIN при создании приложения ASP.NET вы были привязаны к IIS из-за сильной зависимости от
System.Web
сборки.System.Web
это то, что существует со времен ASP (не версия .NET) и содержит много вещей, которые вам могут даже не понадобиться (например, веб-формы или авторизация URL-адресов), которые по умолчанию выполняются при каждом запросе, что потребляет ресурсы и делает ASP Приложения .NET в целом работают намного медленнее, чем его аналоги, такие как, например, Node.js.Сам OWIN не имеет никаких инструментов, библиотек или чего-либо еще. Это просто спецификация.
Katana, с другой стороны, является полностью разработанной средой, созданной для создания моста между текущими средами ASP.NET и спецификацией OWIN. На данный момент Katana успешно адаптировала следующие платформы ASP.NET для OWIN:
ASP.NET MVC и веб-формы по-прежнему работают исключительно через System.Web, и в долгосрочной перспективе планируется также разделить их.
С другой стороны, IIS является хорошим, находчивым хостом для веб-серверов. Все проблемы производительности ASP.NET с использованием IIS имеют глубокие корни
System.Web
только в. Вплоть до недавнего времени, когда вы решали, как разместить свой веб-сервер, у вас было два варианта:Поэтому, если вы хотите получить представление, вы можете выбрать вариант с собственным хостом. Если вы хотите использовать множество встроенных функций IIS, вы бы выбрали IIS, но потеряли бы производительность.
Теперь есть 3-й вариант, библиотека Microsoft с именем Helios (текущее кодовое имя), которая намеревается удалить
System.Web
, и которая позволяет вам использовать IIS более «чистым» способом, без каких-либо ненужных библиотек или модулей. Helios в настоящее время находится в предварительной версии и ждет большего количества отзывов сообщества, чтобы сделать его полностью поддерживаемым продуктом Microsoft.Надеюсь, что это объяснение проясняет ситуацию лучше для вас.
РЕДАКТИРОВАТЬ (сентябрь 2014 г.):
В процессе разработки ASP.NET vNext Катана постепенно выходит на пенсию. Версия 3.0, скорее всего, станет последним основным выпуском Katana в качестве автономного фреймворка.
Тем не менее, все концепции, представленные в Katana, интегрируются в ASP.NET vNext, а это означает, что модель программирования будет практически одинаковой. Цитата из сообщения на форуме, сделанного Дэвидом Фаулером (Архитектор ASP.NET vNext):
РЕДАКТИРОВАТЬ (февраль 2015 г.):
ASP.NET vNext теперь известен как ASP.NET 5 и будет построен на основе .NET Core 5. .NET Core 5 - это облегченная факторинговая версия .NET Framework, предназначенная для поддержки целей ASP.NET 5 и .NET Native. , Однако ASP.NET 5 также будет поддерживаться .NET Framework 4.6, который должен стать доступным вместе с .NET Core 5. Как ASP.NET 5, так и .NET Core 5 будут лицензированы в рамках MIT и будут принимать участие сообщества.
РЕДАКТИРОВАТЬ (май 2015 г.):
Кроме того, торговая марка ASP.NET Web API будет прекращена, однако ее технология станет основой для нового ASP.NET MVC 6. Предыдущие версии ASP.NET MVC были созданы с использованием интерфейса IHttpHandler, определенного в
System.Web
. ASP.NET MVC 6 устраняет эту зависимость, делая его переносимым на различные платформы и веб-серверы.РЕДАКТИРОВАТЬ (май 2016 г.):
ASP.NET 5 будет официально переименован в ASP.NET Core, начиная с Release Candidate 2, выпуск которого запланирован в ближайшее время. То же самое будет применяться к Entity Framework 7, который будет переименован в Entity Framework Core. Более подробную информацию об официальном объявлении и причинах этого можно найти в блоге Скотта Хансельмана: ASP.NET 5 мертв - Представляем ASP.NET Core 1.0 и .NET Core 1.0
РЕДАКТИРОВАТЬ (май 2016 г.):
С выпуском Release Candidate 2 ASP.NET Core был изменен таким образом, чтобы будущие веб-приложения были фактически просто консольными приложениями .NET Core для обработки входящих HTTP-запросов . Эта концепция делает ASP.NET Core еще более согласованным с подходом Microsoft к поддержке архитектуры микросервисов и ее реализации через Azure Service Fabric. Дополнительную информацию можно найти в официальном сообщении в блоге: Объявление о ASP.NET Core RC2
источник
Если бы мне нужно было определить OWIN для себя, это было бы: «Лучшие идеи от сообществ веб-разработчиков Ruby и Node.js, приходящие в .NET»
Но это не поможет ни одному разработчику ASP.NET. Мое собственное определение будет что-то вроде:
OWIN определяет стандартный интерфейс между веб-серверами .NET и веб-приложениями. Цель интерфейса OWIN - разделить сервер и приложение. Если мне нужно ответить на поставленные вами вопросы, то вот оно:
OWIN - это спецификация интерфейса. Он отделяет веб-приложения от IIS.
Если вы используете готовые компоненты (то же самое, что и Katana), то некоторые части функциональности приложения гораздо проще реализовать по сравнению со старым ASP.NET. Проверка подлинности с помощью сторонних поставщиков удостоверений (Facebook, Twitter) является одним из примеров этого.
источник
Я постараюсь осветить это с практической точки зрения.
Katana - это имя проекта для реализации OWIN в Microsoft .
Что именно OWIN и какие проблемы он решает (простыми словами). Какое отношение это имеет к IIS? OWIN ( Open Web Interface для .NET ) - это стандарт ( спецификация OWIN ), а Katana - это библиотека .NET, которую вы можете получить здесь . Овин и Катана стали несколько синонимами в Интернете.
До OWIN ваш единственный вариант был
IIS
с OWIN, вы можете использовать любое другое приложение (с точкой входа) в качестве веб-сервера.OWIN заменяет IIS? если нет, то в каких ситуациях OWIN лучше всего подходит?
Нет , это не заменяет IIS, вы можете использовать Owin и IIS есть
Microsoft.Owin.Host.SystemWeb
NuGet для этого . Лучше всего, если вы хотите оптимизировать / изменить способ обработки в IIS или создать собственный веб-сервер, скажем, из приложения Windows Forms.Как OWIN может помочь мне в моих ежедневных рабочих проектах?
Это может снизить эксплуатационные расходы сервера, поскольку вашим веб-серверам больше не нужно работать на IIS (Windows) (серверы Windows стоят дороже, чем на Unix, и вы можете запустить его в консольном приложении под Mono в Linux).
Как OWIN может помочь мне в проектах по самосовершенствованию?
Обучение
Microsoft.Owin
(и другие связанные библиотеки OWIN) улучшит ваши знания о том, как работает HTTP-связь между клиентом и веб-сервером.Хорошо читайте, если хотите больше узнать о том, что такое Katana и OWIN.
источник
Что такое OWIN?
OWIN расшифровывается как Open Web Interface для .NET. OWIN - это спецификация, которая описывает, как фреймворки веб-разработки, такие как ASP.NET MVC, должны взаимодействовать с веб-серверами. Целью OWIN является отделение веб-приложений от веб-сервера путем введения уровня абстракции. Такая абстракция позволяет запускать одно и то же приложение на всех веб-серверах, поддерживающих OWIN. Кроме того, это упрощает систему в целом, поскольку уровень абстракции может обеспечить облегченную инфраструктуру для размещения приложений. IIS предоставляет богатый набор функций для веб-приложений. Однако веб-приложениям могут не понадобиться все эти функции. Для них может быть достаточно иметь минимальные возможности обработки HTTP. Совместимый с OWIN хост может предоставить такую среду размещения для этих приложений. Более того, Вы можете определить конвейер модулей, которые используются во время обработки запроса. OWIN-конвейер - это цепочка OWIN-совместимых компонентов, через которые проходит запрос.
Что такое катана?
Katana - это набор компонентов от Microsoft, созданный с использованием спецификаций OWIN. Некоторые из этих компонентов включают в себя веб-API, ASP.NET Identity и SignalR.
Выше приведена выдержка из статьи CodeGuru: http://www.codeguru.com/csharp/.net/net_asp/overview-of-owin-and-katana.htm
источник