Полное название OWIN — Open Web Interface for .NET. Если анализировать только по названию, можно получить следующую информацию: OWIN — это открытый веб-интерфейс для платформы .NET. Так кто же является интерфейсом между веб-интерфейсом? Это интерфейс между веб-приложением и веб-сервером, а OWIN — интерфейс между .NET-приложением и веб-сервером. Зачем вам такой интерфейс? Потому что. Веб-приложение NET работает на веб-сервере, и веб-приложение .NET должно принимать запрос пользователя через веб-сервер и отправлять ответный контент пользователю через веб-сервер. Без такого интерфейса веб-приложение .NET зависело бы от конкретного веб-сервера, на котором оно работало, например, ASP.NET приложение зависело бы от IIS. С таким интерфейсом ASP.NET приложению нужно опираться только на этот абстрактный интерфейс и не учитывает веб-сервер, который он запускает. Таким образом, роль OWIN заключается в развязке, введя набор абстрактных интерфейсов. Веб-приложение и веб-сервер NET, вновь демонстрируя важность интерфейсов. В разработке программного обеспечения каждое разделение — это большой шаг вперёд. 【Дальнейшее понимание】 OWIN — это абстракция ASP.NET Runtime. ASP.NET 5.0 — это реализация OWIN. Следующие схемы можно понять более интуитивно:
Зная базовую теорию, давайте развивать её на практике.
OWIN Self-Host ASP.NET Web API 2 Сначала мы создаём пустой консольный проект:
Затем установите Microsoft.AspNet.WebApi.OwinSelfHost через Nuget
Мы также можем открыть консоль NuGet: Введите команду: Install-Package Microsoft.AspNet.WebApi.OwinSelfHost
Затем добавляем стартовый класс OWIN под названием Startup следующим образом:
Пишите код в Startup следующим образом:
Давайте напишем контроллер WebAPI с следующим кодом:
Наконец, начинаем OWIN и добавляем следующий код в Program.cs:
Запустите консольную программу и получите доступ к только что заданному адресу:
http://localhost:8080/api/Account
|