OWIN sunucusu olarak IIS

   Hatırlarsanız serinin önceki makalelerinde OWIN’in ortaya koyduğu mimari ile birlikte web uygulamalarımızın sunucu bağımsız çalışabileceğinden bahsetmiştim. Aynı durum geliştirilen OWIN katmanları için de söz konusu. Geliştirdiğimiz örnek uygulamayı da IIS yerine Katana projesinin de yardımıyla masaüstümüzde sunmuştuk. Madem OWIN ile birlikte bir sunucu bağımsızlığından bahsediyoruz, bu durumda aynı yapıyı IIS üzerinde de sunabilmeliyiz.

   Microsoft OWIN’e destek veriyor demiştim. Aslına bakarsanız bence bu kritik bir destek; çünkü .Net ekosisteminin de gelişmesine katkıda bulunuyor. Java dünyasında en özendiğim şey olan pek çok uygulama sunucusu seçeneğinin yavaş yavaş .net için de gelmesine ön ayak.

   Microsoft Katana ile OWIN implemantasyonları yaparken buna belki de bir deneme alanı gözüyle de bakılabilir. Buradaki ilerleme bana sorarsanız ilerleyen zamanlarda IIS mimarisine de yöne verecek. Dolayısıyla da bu çalışmalar sırasında IIS üzerinden OWIN katmanlarının çalışabilmesi için de gerekli destekler sağlanmış durumda. Bunu için Microsoft.Owin.Host.SystemWeb paketi incelenebilir.

   Microsoft.Owin.Host.SystemWeb paketi temelde bir OWIN implementasyonu olmakla birlikte  yakından bakıldığında alışkın olduğumuz şekilde IIS’in hemen üzerinde yer almadığını görülebilir. Bunu yerine ASP.Net üzerine oturtulmuş bir katman. Tabi bunun çeşitli artıları ve eksileri olacaktır; ama işin iyi yanından baktığımızda ileride bu mimari değişip IIS’in hemen üzerinde bile çalışsa bizim kodumuzda bir değişiklik gerekmeyecek 😉

   Ok, daha fazla lafı uzatmadan örnek projemizi IIS üzerinden sunmaya başlayalım. Öncelikle uyarmalıyım; bu iş atla deve değil, bende öyle uzuuuuun bir makale beklemeyin 🙂

  İşe Microsoft.Owin.Host.SystemWeb NuGet paketini yüklemekle başlıyoruz;

Install-Package Microsoft.Owin.Host.SystemWeb

  Aslına bakarsanız bu kadar… Sonrasında, önceden katana üzerinden hata ayıklama oturumuna başlamasını söylediğimiz uygulamamızı yeniden IIS üzerinde başlayacak şekilde yapılandırmalıyız.

IIS-Üzerinde-Host-Etme

   Bu adım sonrasında F5 ile hata ayıklama oturumu başlattığımızdaaaaa;

OWIN-IIS-404-Error

    404 hatası alacağız… Ok, aslında şimdilik takip etmemiz gereken ufak bir adım daha var. web.config içerisinde appSettings’in hemen altına aşağıdaki iki satırı eklemeliyiz;

<add key="owin:HandleAllRequests" value="true" />
<add key="owin:SetCurrentDirectory" value="true" />

  Not : Bir sonraki sürümde bu yapılandırmaya gerek olmayacak.

OWIN-IIS

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir