Когда я должен использовать OWIN Katana?
Я новичок в OWIN и Катана. Я действительно не понимаю, почему я должен использовать OWIN, в то время как я могу использовать IIS. Чтобы упростить, мой вопрос: Что я теряю, если я пропускаю обучение OWIN и использую IIS для своих веб-сайтов?
я погуглил, но нет простого объяснения. Здесь есть некоторая информация, но они используют некоторые жаргонные фразы, поэтому я не могу ее понять.
5 ответов:
In asp.net WebApi v2, конвейер OWIN становится по умолчанию. В конечном итоге это будет стандартный трубопровод под любым asp.net проект.
Я не могу выразить это лучше, чем то, что написано здесь: http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
раздел " открытый веб-интерфейс для .NET (OWIN)" прекрасно объясняет цели OWIN.
без OWIN, the asp.net биты есть в сочетании с тем, как IIS взаимодействует с приложением. OWIN абстрагирует веб-серверы и компоненты фреймворка. Это означает, что ваш код приложения теперь будет знать об интерфейсе OWIN, но не о веб-сервере, который обслуживает запрос.
в свою очередь, приложения могут быть более легко портированы между хостами и потенциально целыми платформами/операционными системами. Например, возможность размещения приложения в консоли или любом процессе позволяет Mono размещать его без усилий... (Малина Пи кто угодно)
второй аспект заключается в том, что она работает как конвейер.
вы можете подключить любые промежуточные программы (и столько, сколько вы хотите) между веб-сервером и вашим приложением.
Это позволяет использовать более модульные решения. Вы можете разрабатывать распространяемые промежуточные программы, которые могут влиять на запрос/ответ, поступающий в/из вашего приложения, но держать эти модули отдельно от кода приложения.To убедите себя в преимуществах этого модульного подхода, взгляните на пакеты nuget, доступные для OWIN:http://www.nuget.org/packages?q=owin
многие из этих пакетов ранее были основными asp.net функциональность, и были извлечены как промежуточное программное обеспечение.
Например, добавление поддержки для входа с использованием различных поставщиков OAuth становится проблемой инфраструктуры (промежуточное программное обеспечение) и больше не должно быть частью кода приложения :
- http://www.nuget.org/packages/Microsoft.Owin.Security.Google/
- http://www.nuget.org/packages/Microsoft.Owin.Security.Facebook/
- http://www.nuget.org/packages/Microsoft.Owin.Security.ActiveDirectory/
...или если вы хотите автоматически заменить все изображения с вашего сайта милыми изображениями кошек, вы также можете сделать это прозрачно :
https://github.com/serbrech/Owin.Catify
EDIT: теперь он доступен в виде пакета nuget:долг.Catify!
public interface OWIN { void ListenHttpCallAndServeWebPage(); } namespace Microsoft.OWIN { public class Katana : OWIN { public void ListenHttpCallAndServeWebPage() { // listen to a port for HTTP call and serve web page } } }Да, это верно. Оуин-это интерфейс а катана-это реализация интерфейс долг на Microsoft. Поэтому мы слышим эти 2 слова (OWIN / KATANA) вместе и много раз мы путаемся между разницей между этими 2 терминами. Итак, Katana-это реализация интерфейса OWIN от Microsoft. Скажем, есть еще одна компания под названием BIG-BOSS, которая хотела создать свою собственную реализацию OWIN, они могут это сделать и назвать их реализация как "батана" и рекламировать фразы, такие как OWIN / BATANA.
Итак, почему OWIN !!!
думать о стране, где единственным транспортным средством, доступным для движения грузовика. Больше ничего. Если вы хотите купить автомобиль, вы покупаете грузовик. Ну, это раньше служило хорошо, но люди начали понимать, что им не нужен грузовик все время, особенно когда они хотят пойти посмотреть фильм или купить молоко, вождение тяжелого грузовика не только стоит высокого топлива, но и также добавьте стресс на вождение. Но да, если они хотят нести много тяжелых вещей, грузовик служит этой цели очень хорошо.
затем правительство этой страны придумало спецификацию для производителей транспортных средств. Спецификация выглядит следующим образом:
- автомобиль должен иметь 4 колеса
- автомобиль должен иметь рулевое управление.
- автомобиль должен иметь фары и сигнальные огни.
Итак, основываясь на этих спецификациях, любой смогите сделать корабль согласно различным потребностям и они могут назвать их корабль соответственно. Поэтому, седан, пикап, внедорожник, фургон, ..так далее.. все виды транспортных средств появились на рынке. Если кому-то не нужно все время носить тяжелые вещи, а нужен автомобиль только для того, чтобы идти на работу, он/она может купить маленький седан. Кто-то может купить внедорожник, если ему нужно немного больше энергии.
основываясь на приведенном выше примере, мы можем сказать, что наш ASP.NET веб-приложение использует систему.Веб-Ассамблеи который сильно загружен (как грузовик), и если мы хотим сделать небольшое веб-приложение, где наша цель-просто обслуживать некоторые файлы на основе небольшого набора запросов, мы обязаны использовать эту тяжелую систему.Агрегат паутины (тележка). Теперь появляется Оуин. OWIN-это набор спецификаций (мы можем назвать его интерфейсом), который определяет сервер. Основываясь на этой спецификации, кто-то (например, производитель транспортных средств) может создавать различные типы серверов на основе конкретных проблемных доменов / потребностей приложений. Microsoft создали их собственная реализация для OWIN названа Katana таким же образом, который может служить веб-API. Поскольку WebAPI-это легкая технология, которая не нуждается в полномасштабной системе.Веб-вещи, легкая реализация сервера (например, Katana) может значительно повысить производительность при использовании веб-Api, размещенного на Katana.
более простая версия этого ответа заключается в том, что катана является гонгом для полной замены системы.Веб-сборка и старый ASP.NET конвейер, который дает вам лучшую гибкость (используйте его в большем количестве сценариев и используйте только те части, которые вам нравятся) и производительность.
поэтому каждый должен следить за его эволюцией сейчас и быть готовым переключиться, когда он будет окончательно завершен.
Ниже приведена диаграмма, которую я нарисовал, чтобы заполнить детали, которые Microsoft не может включить в этот статья.
OWIN является таким стандартом, что он позволяет фреймворкам приложений работать на нем и забывать обо всем, что под ним. С другой стороны, сам OWIN использует различные хост-адаптеры, чтобы убедиться, что он может разговаривать с базовыми веб-серверами (IIS и многие другие).
теперь я работаю с автором веб-сервера Jexus, чтобы исследовать, как мы можем написать адаптер хоста для моста OWIN/Katana и Jexus. Мы очень рады узнать, что долг является гибким и настраиваемым.
ссылка: http://blog.lextudio.com/2014/06/why-owin-matters-a-lot-for-asp-net-developers/
почему я должен использовать OWIN, в то время как я могу использовать IIS?
OWIN предназначен для отделения веб-серверов от фреймворков, в которых вы работаете. Оно может сделать применения облегченным и портативным для смешивая рамок и серверов.
и Katana-это реализация компонентов OWIN от Microsoft.
С последних нескольких лет Microsoft делает веб-инструменты более гибкими и отзывчивыми, поскольку их план прогрессирует. Например, развитие ASP.Net MVC и web ASP.NET API-интерфейс. Они не зависят от системы.Веб-dll, которая является огромным бременем, которое они чувствуют сейчас, я думаю. Преимущество заключается в том, что оба исправления событий могут быть предоставлены своевременно, и цикл быстрее, чем когда-либо. Также теперь разработчики могут развертывать эти приложения на пользовательских хостах OWIN или Katana, что является ссылкой на реализацию OWIN.
в чем все-таки смысл?
Microsoft выпустила проект который представляет собой легкий веб-узел на основе OWIN поверх IIS, называемый " Helios. Цель состоит в том, чтобы избежать ASP.NET/IIS связь путем предоставления некоторых независимых небольших компонентов, которые могут использоваться, устанавливаться и управляться независимо друг от друга на веб-узле, реализующем спецификации OWIN.
одной из основных причин является фактор производительности. Гелиос сможет достичь в 2-3 раза большей пропускной способности, чем стандартная ASP.Net применение. С точки зрения потребления памяти, Helios намного лучше, чем Система.Веб-файлов. В взятом тесте архитектура Helios позволила образцу приложения достичь 50000 одновременных запросов с примерно 1 ГБ меньше накладных расходов по сравнению со стандартом ASP.Net применение.
OWIN-это абстракция между веб-приложением и хостинг-платформы. Если вы пишете свое веб-приложение с помощью OWIN, вы не привязаны к IIS, вы можете использовать другой хост, если хотите.
вы спросили, почему использовать OWIN, а не IIS, но это не альтернативы друг другу. OWIN находится между IIS и вашим приложением, так что вы можете отключить IIS без перезаписи приложения.
вы также можете проверить эту страницу https://github.com/Bikeman868/OwinFramework/wiki/OWIN


Comments