OWIN'in tam adı .NET için Open Web Interface'dir. Sadece isimden ayrıştırırsak şu bilgiyi elde edebiliriz: OWIN, .NET platformu için açık bir web arayüzüdür. Peki web arayüzü arasındaki arayüz kim? Web uygulaması ile web sunucusu arasındaki arayüzdür ve OWIN, .NET web uygulaması ile web sunucusu arasındaki arayüzdür. Neden böyle bir arayüze ihtiyacınız var? Çünkü. NET web uygulaması bir web sunucusunda çalışır ve .NET web uygulaması kullanıcının talebini web sunucusu üzerinden alıp yanıt içeriğini web sunucusu üzerinden kullanıcıya göndermelidir. Böyle bir arayüz olmadan, .NET web uygulaması çalıştığı belirli web sunucusuna bağlı olurdu, örneğin ASP.NET uygulama IIS'ye bağlı olurdu. Bu arayüzle, ASP.NET uygulama sadece bu soyut arayüze güvenmek zorunda kalır ve çalıştırdığı web sunucusunu umursamaz. Bu nedenle, OWIN'in rolü, soyut arayüzler seti ekleyerek ayrılmaktır. NET web uygulaması ve web sunucusu, arayüzlerin önemini bir kez daha gösteriyor. Yazılım geliştirmede, her ayrıştırma büyük bir ilerleme adımıdır. 【Daha Fazla Anlama】 OWIN, ASP.NET Runtime'ın bir soyutlamasıdır. ASP.NET 5.0, OWIN'in bir uygulamasıdır. Aşağıdaki diyagramlar daha sezgisel olarak anlaşılabilir:
Temel teoriyi bildiğimden, bunu pratikte geliştirelim.
OWIN Self-Host ASP.NET Web API 2 Öncelikle, boş bir konsol projesi oluşturuyoruz:
Sonra Microsoft.AspNet.WebApi.OwinSelfHost adresini Nuget üzerinden kur
Ayrıca NuGet konsolunu da açabiliriz: Komutu girin: Install-Package Microsoft.AspNet.WebApi.OwinSelfHost
Sonra Startup adlı bir OWIN başlangıç sınıfı ekliyoruz aşağıdaki gibi:
Startup'ta aşağıdaki şekilde kod yazın:
Aşağıdaki kodla bir WebAPI denetleyicisi yazalım:
Son olarak OWIN'i başlatıp Program.cs'a aşağıdaki kodu ekliyoruz:
Konsol programını başlatın ve az önce belirlediğimiz adrese erişin:
http://localhost:8080/api/Account
|