Пълното име на 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
|