Visas OWIN pavadinimas yra Open Web Interface for .NET. Jei analizuosime tik iš pavadinimo, galime gauti šią informaciją: OWIN yra atvira .NET platformos žiniatinklio sąsaja. Taigi, kas yra sąsaja tarp žiniatinklio sąsajos? Tai sąsaja tarp žiniatinklio programos ir žiniatinklio serverio, o OWIN yra sąsaja tarp .NET žiniatinklio programos ir žiniatinklio serverio. Kodėl jums reikia tokios sąsajos? Nes. NET žiniatinklio programa veikia žiniatinklio serveryje, o .NET žiniatinklio programa turi gauti vartotojo užklausą per žiniatinklio serverį ir siųsti atsakymo turinį vartotojui per žiniatinklio serverį. Be tokios sąsajos .NET žiniatinklio programa priklausytų nuo konkretaus žiniatinklio serverio, kurį ji veikia, pavyzdžiui, ASP.NET programa priklausytų nuo IIS. Naudojant šią sąsają, ASP.NET programa turi pasikliauti tik šia abstrakčia sąsaja ir jai nerūpi jos veikiantis žiniatinklio serveris. Todėl OWIN vaidmuo yra atsieti įvedant abstrakčių sąsajų rinkinį. NET žiniatinklio programa ir žiniatinklio serveris, dar kartą parodant sąsajų svarbą. Kuriant programinę įrangą kiekvienas atsiejimas yra didelis žingsnis į priekį. 【Tolesnis supratimas】 OWIN yra ASP.NET Runtime abstrakcija. ASP.NET 5.0 yra OWIN įgyvendinimas. Šias diagramas galima suprasti intuityviau:
Žinodami kai kurias pagrindines teorijas, plėtokime ją praktiškai.
OWIN Self-Host ASP.NET Web API 2 Pirmiausia sukuriame tuščią konsolės projektą:
Tada įdiekite Microsoft.AspNet.WebApi.OwinSelfHost per Nuget
Taip pat galime atidaryti "NuGet" konsolę: Įveskite komandą: Install-Package Microsoft.AspNet.WebApi.OwinSelfHost
Tada pridedame OWIN paleidimo klasę, pavadintą "Startup", taip:
Parašykite kodą paleistije taip:
Parašykime WebAPI valdiklį su šiuo kodu:
Galiausiai paleidžiame OWIN ir pridedame šį kodą Program.cs:
Paleiskite konsolės programą ir pasiekite ką tik nustatytą adresą:
http://localhost:8080/api/Account
|